我想创建一个通用容器类,它可以包含其他类的一个对象。我认为这可能是一种合理的方法:
class Container <T> {
private T thing;
public void Store(T obj) {
thing = obj;
}
public T ReturnIt() {
return thing;
}
}
当我尝试将其与一个 Book 类一起使用时,我收到以下错误消息:“注意:GenericContainer.java 使用未经检查或不安全的操作。注意:使用 -Xlint 重新编译:未检查详细信息。”
可能public T ReturnIt() { return thing; }
是错误的原因,这是返回容器类中包含的对象的错误方法吗?当我尝试使用 -Xlint:unchecked 编译它时,我没有得到任何进一步的信息。我对错误消息有什么看法?
导致错误的代码:
class GenericContainer {
public static void main(String[] args) {
Container BookStorage = new Container <Book>();
Book thejavabook = new Book("The Java book");
BookStorage.Store(thejavabook);
}
}
class Book {
private String title;
Book(String title) {
this.title = title;
}
}
class Container <T> {
private T thing;
public void Store(T obj) {
thing = obj;
}
public T ReturnIt() {
return thing;
}
}