我想从otherclass2
中绘制一个String值。我怎么能这样做?
public class Main {
public static void main(String[] args) {
List<otherclass> list = new ArrayList<otherclass>();
list.add(new otherclass());
}
}
public class otherclass {
private Map<String, otherclass2> maps = new HashMap<String, otherclass2>();
}
public class otherclass2 {
String value = "I want this String";
}
我应该使用list.get()
吗?还是有另一种方法吗?
答案 0 :(得分:0)
您无法获得otherclass2
的值,因为您的列表包含otherclass
的实例,而otherclass
包含private maps
=&gt;因此,list.get(0)
您无法访问maps
=&gt;无法访问maps
也意味着您无法访问otherclass2
值。
第二个问题是你没有初始化otherclass2
并将其放入maps
。
要解决您的问题(您应该创建get / setter而不是像这里使用public):
public class Main {
public static void main(String[] args){
List<otherclass> list = new ArrayList<otherclass>();
list.add(new otherclass());
otherclass other = list.get(0);
String your_value = other.maps.get("first").value;
System.out.println(your_value);
}
}
public class otherclass{
public Map<String, otherclass2> maps = new HashMap<String, otherclass2>();
public otherclass(){
maps.put("first", new otherclass2());
}
}
public class otherclass2{
public String value = "I want this String"
}