有以下待编译代码:
private String dataToString(){
Map data = (HashMap<MyClass.Key, String>) getData();
String toString = "";
for( MyClass.Key key: data.keySet() ){
toString += key.toString() + ": " + data.get( key );
return toString;
}
报错:
incompatible types
found : java.lang.Object
required: MyClass.Key
怎么解决这个问题啊?
发布于 2018-07-25 07:39:01
以下是一个有效的方法:
Map<MyClass.Key, String> data = (HashMap<MyClass.Key, String>) getData();
StringBuffer sb = new StringBuffer();
for (Map.Entry<MyClass.Key,String> entry : data.entrySet()) {
sb.append(entry.getKey());
sb.append(": ");
sb.append(entry.getValue());
}
return sb.toString();
定义“getData”,就不需要强制转换了。
发布于 2018-07-25 08:36:07
将以下代码
Map data = (HashMap<MyClass.Key, String>) getData();
改成:
Map<MyClass.Key, String> data = (HashMap<MyClass.Key, String>) getData();
https://stackoverflow.com/questions/-100000409
复制相似问题