-1
這裏是我的代碼:爲什麼這個Java代碼不能編譯?
public class MessagePrettier<T> {
private final T uglyMessage;
public MessagePrettier(T uglyMessage) {
this.uglyMessage = uglyMessage;
}
public List<String> stringList() {
List<String> strings = new ArrayList<String>();
strings.add("Pretty version of: " + uglyMessage.toString());
return strings;
}
public static void main(String[] args) {
MessagePrettier<Integer> p = new MessagePrettier<Integer>(new Integer("25"));
List list = p.stringList();
for (String s : list) {
System.out.println(s);
}
}
}
當我編譯這個代碼,我將獲得:
java: incompatible types
required: java.lang.String
found: java.lang.Object
井的StringList()返回字符串,爲什麼編譯期待對象的列表?
列表列表= p.stringList(;列表 list = p.stringList(); –
將來,當詢問編譯器消息時,總是突出顯示編譯器不喜歡的行。它使得查找錯誤變得更容易。 –