我以为我知道我在用泛型做什么,但显然不知道。
ArraySetList<char> setA = new ArraySetList<char>();
编译时给出:
error: unexpected type
ArraySetList<char> setA = new ArraySetList<char>();
^
required: reference
found: char
所有后续字符也出现相同的错误。我想知道如何声明一个新的字符 ArraySetList。
这是我的所有文件。
http://pastebin.com/4h37Xvu4 // ArraySetList (extends ArrayUnsortedList)
http://pastebin.com/FxmynzkC // Driver
http://pastebin.com/CgVA0zjY //ArrayUnsortedList (implements ListInterface)
http://pastebin.com/3iXrCsCc //ListInterface\
Java 泛型适用于对象,而不适用于原始数据类型。但是,如果您需要存储原始数据类型,则需要使用它们相应的包装类对象。
这些类只是“包装”原始数据类型以赋予它们对象外观。
For char
,对应的包装类是Character
因此,您必须这样编写代码行:
ArraySetList<Character> setA = new ArraySetList<Character>();
请阅读:http://docs.oracle.com/javase/tutorial/java/data/numberclasses.html
但是,当您添加元素时,您将添加正常的char
。那是因为Java会自动将其转换为Character
为你而回char
自动地, 如果需要的话。这称为自动装箱转换。
自动装箱是 Java 编译器进行的自动转换
原始类型与其相应的对象包装器之间
类。例如,将 int 转换为 Integer,将 double 转换为 a
双倍等。如果转换以另一种方式进行,则为
称为拆箱。
source: http://docs.oracle.com/javase/tutorial/java/data/autoboxing.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)