Can';Android中的t读出阵列列表
我将一个ArrayList传递给另一个方法,在这里我只想读出列表中的一个特定字符串Can';Android中的t读出阵列列表,android,arraylist,Android,Arraylist,我将一个ArrayList传递给另一个方法,在这里我只想读出列表中的一个特定字符串 public void pruefeWerHat(ArrayList<Teilnehmer> test){ System.out.println(test); public void pruefeWerHat(ArrayList测试){ 系统输出打印LN(测试); 我在LogCat中得到这个 “1彼得潘0,2汉斯0” 现在我只想使用这个名称,但是如果我说(在sysout之后) 字
public void pruefeWerHat(ArrayList<Teilnehmer> test){
System.out.println(test);
public void pruefeWerHat(ArrayList测试){
系统输出打印LN(测试);
我在LogCat中得到这个
“1彼得潘0,2汉斯0”
现在我只想使用这个名称,但是如果我说(在sysout之后)
字符串名称=test.get(1)
他说的问题是,他无法将Teilnehmer转换为字符串。我也测试了Teilnehmer.get(1),但它也不起作用。当调用打印test toString函数时,请在代码中使用它
String name = test.get(1).toString();
ArrayList
可用的get(int-index)
方法返回类型E
。在本例中,它返回类型Teilnehmer
,这显然不是字符串。您可以尝试将Teilnehmer
(尽管可能不需要)转换为字符串,或者简单地调用.toString()
方法(例如,test.get(1.toString())继承自类型对象。或者,如果需要,调用返回字符串的方法。test.get(1.getNameAsString()
允许您调用System.out.println(Teilnehmer)中的类型的原因是println调用对象的字符串表示:
public void println(Object x) {
String s = String.valueOf(x);
synchronized (this) {
print(s);
newLine();
}
}
Teilnehmer的成员是什么
你需要使用类似于
字符串名称=(Teilnehmer)测试[1]。名称
其中Name是您尝试提取的字段
系统输出打印LN(测试)
自动使用toString()方法。此方法位于Object类中,因此java中的所有对象都可以调用此方法
当你这样做的时候
字符串名称=test.get(1)
toString()方法不是单独调用的,您必须自己调用它
字符串名称=test.get(1.toString()
另外,如果要更改打印内容,可以覆盖类中的toString()方法
@Overwrite
public String toString() {
String stringToPrint = "This string will be printed";
return stringToPrint;
}
现在当你这么做的时候
系统输出打印LN(测试)
您将看到的不是“1 PeterPan 0 0,2 Hansi 0 0”,而是“此字符串将被打印”(或您选择在toString()实现中添加的任何内容)。您是否尝试过string name=test.get(1).toString()?