我刚刚创建了这样一个类:NameOfTheClass<Raeaeraear>
。这是什么意思?为什么我可以放任何我想要的随机东西?Java - 用'<>'创建类时,它意味着什么?
-1
A
回答
1
这就是所谓的泛型。泛型是用来“说”的类什么样类型的它会一起工作的情况下,采取f.ex列表
List<People> myPeopleList = new ArrayList<People>();
这里的列表参数。如果你看一下List接口的源代码,它是这样声明的,这意味着接口List是通用的。
public interface List<E> extends Collection<E> {
...
在你的情况下,类NameOfTheClass将implementet有点像这样,注意:泛型可以应用到一个类或接口。
public class NameOfTheClass<E> {
....
public doSome(E e){
doSomeGenericOperationWith(e);
}
这个类可以这样使用:
NameOfTheClass<AType> instance = new NameOfTheClass<AType>();
Atype yourType = ...
doSome(yourType);
注:任何使用doSome() - 方法的需要型A型的参数,这会由Java编译器来处理。所以如果你尝试用其他类型的方法调用,编译错误将会增加。
更多阅读:http://docs.oracle.com/javase/tutorial/java/generics/why.html
0
当您使用<>
时,编译器会关闭检查泛型类型。当编译器需要知道该类型时,您不能使用例如<>
例如,
相关问题
- 1. 是什么阵<T?>意味着
- 2. <xsd:include schemaLocation =“some.xsd”/>意味着什么
- 3. 什么<?意味着
- 4. 什么呢<built-in>,<命令行>意味着
- 5. Java中的语法意味着什么:new Stream <Integer>(){...}?
- 6. 什么试图创建use_block_in_frame意味着
- 7. 创建一个类的实例时,at @意味着什么?
- 8. 创建数据类型时派生意味着什么?
- 9. 分配时&& do /意味着什么? JAVA
- 10. 使用以下内容创建对象意味着什么:id <class> instanceName?
- 11. >>和>>>在Java中意味着什么?
- 12. <>在定义接口时意味着什么?
- 13. 泛型<?>究竟意味着什么?
- 14. “>>>”在java中意味着什么?
- 15. makefile中的$ <和$ @意味着什么?
- 16. <?=这在C++中意味着什么?
- 17. - >函数原型意味着什么?
- 18. (( - >)t)在Haskell中意味着什么?
- 19. 什么“return $ container - > {$ resource};”意味着
- 20. 这意味着什么“$ var = * $ self - > {class_var};”
- 21. 什么的 - >目标C意味着
- 22. - >在PDO PHP中意味着什么?
- 23. StackOverflowError在Java中意味着什么?它的修复是什么?
- 24. 什么-Dauto意味着
- 25. 什么呢JDBC:HSQLDB:hsqlTempFiles意味着
- 26. “WHERE id <> 0”子句在SQL中意味着什么?
- 27. 这到底意味着什么Collection <? extends E> c
- 28. “一个<> b”在伪代码中意味着什么?
- 29. <C-\> ^]在vim映射中意味着什么?
- 30. “<top(required)>”在Ruby堆栈跟踪中意味着什么?
查看http://docs.oracle.com/javase/tutorial/java/generics/ –
@JonSkeet我可以向您发送电子邮件的问题吗? :P – alfasin
@HovercraftFullOfEels我只是在开玩笑[*这*](http://msmvps.com/blogs/jon_skeet/archive/2012/08/22/stack-overflow-and-personal-emails.aspx) – alfasin