我有一个包含double值的字符串列表.因为它保持双重值.我使用Collection.min来查找列表中的最小值.
不幸的是我得到了错误的结果.
找到字符串列表中最小的double值的最佳方法是什么?
以下是具有不同结果的代码段.
String a = "5.0";
String b = "7.0";
String c = "11.0";
List<String> test = new ArrayList<String>();
test.add(a);
test.add(b);
test.add(c);
System.out.println(Collections.min(test)); // Result 11.0
test = new ArrayList<String>();
test.add(a);
test.add(b);
System.out.println(Collections.min(test)); // 5.0
Run Code Online (Sandbox Code Playgroud)
提前致谢.
当你Collections.min
在一个String
s 列表上运行时,你会String
按字典顺序排在第一位.在你的例子中,这是"11.0".
您必须将您的转换List
为a List<Double>
才能获得Collections.min
所需的结果.或者,use可以使用public static <T> T min(Collection<? extends T> coll, Comparator<? super T> comp)
并传递给s ,它将s Comparator<String>
解析String
为double
s并比较双精度数.
归档时间: |
|
查看次数: |
1006 次 |
最近记录: |