Java 泛型和“...”
T
和S
是什么意思?public void main(String...abc)
;...
是什么意思?...
也被称为泛型吗?
- What do
T
andS
mean? public void main(String... abc)
; what does...
mean? Is...
called generic as well?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
T和S意味着类本身不知道它们是什么类,但使用该类的事物知道。
以 java.util.List 为例。列表类不了解有关 T 的任何信息,也不对 T 做出任何假设。 使用 List 类的内容:
了解其中的内容。
T and S means that the class itself does not know what classes they are, but things that use the class do.
Take java.util.List. The list class does not know anything about T and makes no assumptions about T. Things that use the List class:
Know what's in it.
T
和S
是泛型类。它们可以是您想要的任何类型的课程。例如,Map
使用K
作为键类,使用V
作为值类。至于
String...
,它表示任意数量的字符串参数。T
andS
are generic classes. They can be any type of class that you want. For example,Map<K, V>
uses theK
for the key class andV
for the value class.As for the
String...
, it means any number of String parameters.Sun 的 Java 泛型文档有时可能有点难以理解,因此我尝试编写一个关于 Java 泛型的更简单的教程。您可以在这里找到它:
http://tutorials.jenkov.com/java-generics/索引.html
Sun's Java Generics documentation can be a bit hard to understand at times, so I tried to write a simpler tutorial on Java Generics. You can find it here:
http://tutorials.jenkov.com/java-generics/index.html
补充:
String...
与String[]
几乎相同。在方法方面是相同的,
在调用方有一个区别:编译器根据参数创建数组。
complementing:
String...
is almost the same asString[]
.On the method side it is the same,
on the calling side the're is a difference: the compiler creates the array from the parameters.