猿问

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

我有一个带有对象的 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() 正在工作,包含返回变量的每个字符。

  3. 创建一个返回对象名称的“toString()”方法。


回首忆惘然
浏览 58回答 1
1回答

慕容708150

在您的代码中,您检查对象是否相等://Not working:if (name == "txt"){&nbsp; println("...");}你应该使用:if (name.equals("txt"))
随时随地看视频慕课网APP

相关分类

Java
我要回答