【发布时间】:2014-04-21 13:32:36
【问题描述】:
在 Java 8 中,有一个新方法 String.chars() 返回代表字符代码的 ints (IntStream) 流。我想很多人会期望这里有chars 流。以这种方式设计 API 的动机是什么?
【问题讨论】:
-
@RohitJain 我不是指任何特定的流。如果
CharStream不存在,添加它会有什么问题? -
@AdamDyga:设计者明确选择通过将原始流限制为 3 种类型来避免类和方法的爆炸,因为其他类型(char、short、float)可以用它们更大的等价物来表示(int, double) 没有任何显着的性能损失。
-
@JBNizet 我明白了。但是为了节省几个新课程,它仍然感觉像是一个肮脏的解决方案。
-
@JB Nizet:在我看来,考虑到所有流重载以及all function interfaces...,我们已经拥有大量接口
-
是的,已经发生了爆炸,即使只有三个原始流专业化。如果所有八个原语都有流专业化会怎样?一场大灾难? :-)