java - 如何转换结果类型?
解决方案
如果您真的被迫处理类型Map<String, ? extends Number>
而不是 eg的映射Map<String, Double>
,您可以调用doubleValue()
数字实例将此数字转换为双精度数(不能保证结果准确,可能已四舍五入)。
public static double avg(final Map<String, ? extends Number> map) {
double sum = 0d;
for (final var entry : map.entrySet()) {
sum += entry.getValue().doubleValue();
}
return sum / map.size();
}
但是,如果您可以更改方法的签名,我建议您改为:
public static double avg(final Map<String, Double> map) {
double sum = 0d;
for (final var entry : map.entrySet()) {
sum += entry.getValue();
}
return sum / map.size();
}
推荐阅读
- reinforcement-learning - Limit on Action Change in reinforcement learning
- c++ - unordered_set 与链表查找之间的性能比较
- etl - tPartitioner, tCollector & tRecollector talend DI
- sqlite - 简单的 Flutter sqflite login->write to db->navigate->retrieve from db flow
- c++ - 排序算法和对象指针的问题
- javascript - Why is non-reachable part of ternary operator evaluated before state update via setTimeout?
- apache-kafka - Does Kafka stand alone connector syncs automatically or it needs restart every time
- java - android.database.sqlite.SQLiteException:没有这样的列:名称(代码 1)
- html - 如何在 HTML 的特定区域中阻止右键单击?
- node.js - 如何动态渲染快速视图