![]() |
1
72
使用
Google Collections from Guava-Project
,你可以使用
这个
请注意
|
![]() |
2
87
Java 8的解决方案。比Guava长一点,但至少你不必安装库。
对于Java 11,
还是没有
|
![]() |
3
65
据我所知,迭代和实例化是唯一的方法。类似(对于其他潜在的帮助,因为我相信你知道如何做到这一点):
|
![]() |
4
40
你所做的一切都很好,但如果你觉得有必要“Java化”,你可以使用 Transformer 以及 collect method 来自 Apache Commons 例如:
..然后。。
|
![]() |
5
9
String.valueOf的源代码显示如下:
这并不重要,但我会用toString。 |
![]() |
6
9
我使用.toString()代替String.valueOf;它避免了@johnathan.holland描述的一些自动拳击 javadoc表示valueOf返回的内容与Integer.toString()相同。
|
![]() |
7
8
这是一个不欺骗非JDK库的单行解决方案。
|
![]() |
8
5
使用Guava和Java 8的另一种解决方案
|
![]() |
9
3
对于关注“拳击”的人,jsight的回答是:没有。
您是否使用
此外,jsight的响应中存在一个小缺陷:
|
![]() |
10
3
|
![]() |
11
2
不是核心Java,也不是泛型的,但流行的Jakarta commons集合库对这类任务有一些有用的抽象。具体来说,请查看上的收集方法 如果你已经在项目中使用了公共集合,那么需要考虑一些事情。 |
![]() |
12
2
使用原始列表中的forEach方法的稍微简洁的解决方案:
|
![]() |
13
2
@Jonathan:我可能错了,但我相信在这种情况下,String.valueOf()将调用String.valueOf函数,而不是被装箱为String.valueOf。如果String.valueOf(Object)为null,则只返回“null”,如果非null,则调用Object.toString(),这不应该涉及装箱(尽管显然涉及实例化新的字符串对象)。 |
![]() |
14
2
我认为将Object.toString()用于调试以外的任何目的可能是一个非常糟糕的主意,即使在这种情况下,两者在功能上是等效的(假设列表中没有空值)。开发人员可以在没有任何警告的情况下自由更改任何toString()方法的行为,包括标准库中任何类的toString(()方法。 甚至不用担心装箱/拆箱过程造成的性能问题。如果性能至关重要,只需使用数组。如果真的很重要,不要使用Java。试图超越JVM只会让人心痛。 |
![]() |
15
1
仅供专家回答:
|
![]() |
16
0
Lambdaj 允许以非常简单和可读的方式做到这一点。例如,假设你有一个Integer列表,你想将它们转换为相应的String表示形式,你可以写这样的东西;
Lambdaj仅在迭代结果时应用转换函数。 |
![]() |
17
0
你无法避免“拳击开销”;Java的伪泛型容器只能存储对象,所以你的整数必须被打包成整数。原则上,它可以避免从Object向下转换为Integer(因为这毫无意义,因为Object对于String.valueOf和Object.toString都足够好),但我不知道编译器是否足够聪明。从String到Object的转换应该或多或少是不可行的,所以我不想担心这个问题。 |
![]() |
18
0
只是为了好玩,一个使用JDK7中应有的jsr166y fork-join框架的解决方案。
(免责声明:未编制。规范尚未最终确定。等等。) JDK7中不太可能有一些类型推理和语法糖,使Mapping调用不那么冗长:
|
![]() |
19
-1
这是一件非常基本的事情,我不会使用外部库(它会在你的项目中产生你可能不需要的依赖关系)。 我们有一类专门为完成这类工作而设计的静态方法。因为这段代码非常简单,我们让Hotspot为我们做优化。这似乎是我最近代码中的一个主题:编写非常简单(直接)的代码,让Hotspot发挥它的魔力。我们很少遇到这样的代码性能问题——当新的VM版本出现时,你会得到所有额外的速度优势等。 尽管我很喜欢Jakarta系列,但它们不支持Generics,而是使用1.4作为LCD。我对谷歌收藏持谨慎态度,因为它们被列为Alpha支持级别! |
![]() |
Ben · 统计向量中的单词在字符串中出现的频率 5 月前 |
![]() |
bear_525 · 从列中删除中间名和首字母,并保存在单独的列中 6 月前 |
![]() |
asdfadf · 为什么具有相同内存值的字符串和整数打印方式不同? 6 月前 |
![]() |
user764754 · 防止多行原始字符串文字中出现新行字符 7 月前 |
![]() |
Bogaso · 从列表中返回与模式匹配的元素 7 月前 |
![]() |
Jasco · 如何使用VBA提取两个相似字符之间的字符串中的单词? 7 月前 |