如何获取ArrayList中存储对象的Propertie的值

时间:2019-07-02 11:31:29

标签: java class oop object arraylist

我有一个带有对象的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");
}

我尝试过:

  1. getter / setter方法产生的结果相同
  2. 使用一个将返回的var的每个字符作为函数的函数转换返回的var,因为.length()正在工作,将其转换为包含返回变量的每个单个字符的新String。
  3. 创建一个“ toString()”方法,该方法返回对象的名称。

1 个答案:

答案 0 :(得分:0)

在您的代码中检查对象是否相等:

//Not working:
if (name == "txt"){
  println("...");
}

您应该使用:

if (name.equals("txt"))