我有一个带有对象的ArrayList。当我尝试获取ArrayList中对象的属性时,返回的变量并不完全是该值,我在将其设置为变量之前就已经确定了该值。例如,当我尝试比较返回的变量时,变量类型“ String”不起作用。但是,当我打印返回变量的值时,似乎一切正常。
//Class:
public class obj{
public String name;
public obj(String name){
this.name = name;
}
}
//Add to List:
ArrayList<obj> objs = new ArrayList<obj>();
objs.add(new obj("txt"));
//Get Value:
String name = objs.get(0).name;
//Not working:
if (name == "txt"){
println("...");
}
//But working:
println(name); //same
if (name.charAt(0) == 116){ //"t"
println("working");
}
我尝试过:
答案 0 :(得分:0)
在您的代码中检查对象是否相等:
//Not working:
if (name == "txt"){
println("...");
}
您应该使用:
if (name.equals("txt"))