我有一個(gè)帶有對(duì)象的 ArrayList。當(dāng)我嘗試獲取 ArrayList 中對(duì)象的屬性時(shí),返回的變量不完全是我之前設(shè)置給變量的值。例如,當(dāng)我嘗試比較返回的變量時(shí),變量類型“String”不起作用。但是當(dāng)我打印返回變量的值時(shí),似乎一切正常。//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); //sameif (name.charAt(0) == 116){ //"t" println("working");}我試過:getter/setter 方法產(chǎn)生相同的結(jié)果使用一個(gè)函數(shù)將返回的 var 轉(zhuǎn)換為一個(gè)新的字符串,該函數(shù)獲取返回的 var 的每個(gè)字符,因?yàn)?.length() 正在工作,包含返回變量的每個(gè)字符。創(chuàng)建一個(gè)返回對(duì)象名稱的“toString()”方法。
1 回答

慕容708150
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊
在您的代碼中,您檢查對(duì)象是否相等:
//Not working:
if (name == "txt"){
println("...");
}
你應(yīng)該使用:
if (name.equals("txt"))
添加回答
舉報(bào)
0/150
提交
取消