Java:创建文件中其他地方可识别的类
在ClassA.java中,我有Java:创建文件中其他地方可识别的类,java,class,collections,compiler-errors,Java,Class,Collections,Compiler Errors,在ClassA.java中,我有 class User { private int id; private String nick; public int getId() { return id; } public void setId(int i) { id = i; } public String getNick() { return nick; } public void
class User {
private int id;
private String nick;
public int getId() {
return id;
}
public void setId(int i) {
id = i;
}
public String getNick() {
return nick;
}
public void setNick(String n) {
nick = n;
}
}
public final class ClassA {
private List<User> = new LinkedList();
public Collection<String> getUsers() {
LinkedList out = new LinkedList();
Iterator loop = out.iterator();
while (loop.hasNext()) {
User u = loop.next();
out.add(u.getNick());
}
return out;
}
}
它告诉我,u
不能强制转换为用户
。我还需要做些什么来向编译器指出u
的静态类型吗?LinkedList
(或者通常是List
)是泛型类型。如果不指定泛型参数,默认情况下它将被解释为对象
。您需要相应地指定您的列表:
List<User> out = new LinkedList<>();
List out=new LinkedList();
LinkedList
(或通常的列表
)是泛型类型。如果不指定泛型参数,默认情况下它将被解释为对象
。您需要相应地指定您的列表:
List<User> out = new LinkedList<>();
List out=new LinkedList();
我认为您应该向类User添加一个构造函数
User(){}
这里呢
private List<User> test = new LinkedList();
private List test=new LinkedList();
名称我认为您应该向类User添加一个构造函数
User(){}
这里呢
private List<User> test = new LinkedList();
private List test=new LinkedList();
名称您需要使用泛型:
List<User> out = new LinkedList<>();
Iterator<User> loop = out.iterator();
List out=new LinkedList();
迭代器循环=out.Iterator();
您需要使用泛型:
List<User> out = new LinkedList<>();
Iterator<User> loop = out.iterator();
List out=new LinkedList();
迭代器循环=out.Iterator();
private List=new LinkedList()代码>不编译。对于out
和loop
private List=new LinkedList(),您使用的是原始值而不是泛型代码>不编译。对于输出
和循环
,您使用的是原始值而不是泛型。