3
A
回答
3
的<?>
语法是Java的方法来指定该通用类型是“无界” - 即它可以是“任何”。
Enumeration<?>
是带有“无界类型”枚举 - 可以在任何类型的枚举分配给这样的变量,例如:然而
Vector<String> v = new Vector<String>();
Enumeration<String> es = v.elements();
Enumeration<?> e = es; // This assignment compiles OK
,是无界的,所述nextElement()方法Enumeration<?>
返回类型为Object
(即使它实际上是一个Enumeration<String>
),所以你可能要投:
String s = (String)e.nextElement(); // Unsafe cast - compiler warning
有关背景,Enumeration是一种带有两种方法的分型接口hasMoreElements()和 nextElement()。这是一个早期(差)尝试,被Iterable和Iterator取代。有几个老班使用它,如Vector和StringTokenizer。
0
?是通配符。你可以把它表示为?扩展对象或具有相同效果的类别的东西。从我的理解来看,通配符到目前为止并不完全是一门艺术,在java中它们需要有一定的限制*但是不要在此引用我
2
问号表示它代表所有类型。下面是一个example:
除了具体的实例有所谓的通配符 实例。它们没有具体的类型作为类型参数,但是所谓的通配符是 。通配符是一个带有“ ?”的句法结构,它不仅表示一种类型,而且表示一种类型。在其最简单的形式 通配符只是一个问号,代表“所有 类型”。
(的通配符参数化的类型)实施例:
public void printPair(Pair<?,?> pair) { System.out.println("("+pair.getFirst()+","+pair.getSecond()+")"); } Pair<?,?> limit = new Pair<String,Long> ("maximum",1024L); printPair(limit);
2
虽然很容易想到?
表示“any”或“all”类型,但它实际上指定了单个未知类型。如果它真的是“任何”,你会期望这个工作:
List<?> l = ...
l.add("foo");
l.add(new Date())
但它没有。这是因为该代码中的类型是未知的,所以编译器无法判断是否允许向其添加任何内容。
相关问题
- 1. <>是什么意思?
- 2. <+>是什么意思?
- 3. 在Java中,>>或<<是什么意思?
- 4. <>是什么意思?
- 5. {< >}是什么意思?
- 6. 在java中=() - >是什么意思?
- 7. class myClass <String>是什么意思?
- 8. <String,String>是什么意思?
- 9. 列表<String> []是什么意思在java中?
- 10. 这是什么意思(计算中的<< and > >>)?
- 11. 符号<>是什么意思?
- 12. “<!DOCTYPE html>”是什么意思?
- 13. ReactClass <*>是什么意思?
- 14. numeric_limits <double> :: digits10是什么意思
- 15. 方法<ClassName>是什么意思?
- 16. “<indentifier>预计”是什么意思?
- 17. FaultContract <T> - 这是什么意思?
- 18. #include <crtdll/stddef.h>是什么意思?
- 19. <[email protected]>是什么意思?
- 20. 这是什么意思? <variable> ==“”
- 21. ChannelFactory <T>(“*”)是什么意思?
- 22. “<>”运算符是什么意思?
- 23. <Object>在地图上<Object>是什么意思?
- 24. python中的`<-`, `> -`,`<+`, `> +`是什么意思?
- 25. java中的ClassName <Something >中的<Something>是什么意思?
- 26. Puppet中'if $ variable {}'的意思是什么?</p> <pre><code>if $variable { do something } </code></pre> <p>这是什么意思:
- 27. 这是什么意思在Java <TTask,TList>?
- 28. Groovy,什么意思 - >意思是
- 29. List <JAXBElement <?是什么?扩展SomeClassName >>的意思是?
- 30. 在maven输出中,“<<<", "> >>”和“---”是什么意思?
...和Servlet API:p –