【发布时间】:2018-01-22 08:24:13
【问题描述】:
在下面的代码中,我在 Test_1 “System.out.println(set1.get(0).get(0).txt);”的最后第二行中遇到错误在“txt”中请帮助。 java error screenshot
import java.util.ArrayList;
public class Test_1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
ArrayList<ArrayList> set1 = new ArrayList<>();
ArrayList<abc> set2 = new ArrayList<>();
ArrayList<abc> set3 = new ArrayList<>();
set1.add(set2);
set1.add(set3);
set2.add(new abc("xxxxxx"));
set2.add(new abc("xxxxx yyyyy"));
System.out.println(set2.get(0).txt);
System.out.println(set1.get(0).get(0).txt);
System.out.println(((abc) set1.get(0).get(0)).txt);
}
}
class abc{
String txt;
public abc(String txt)
{
this.txt = txt;
}
}
【问题讨论】:
-
请edit您的问题确保所有代码格式正确。另外,将错误作为文本包含在链接图像中,并在代码中标记出现错误的行。
-
你需要调用方法名,而不是变量名。
-
.txt不是Object的字段。命名不佳的变量set1应该是ArrayList<ArrayList<abc>>类型。永远不要使用原始类型。 -
您已经在下一行代码上解决了问题。您的非泛型
ArrayList默认不是abc类型,但您可以将元素转换为该类型。 -
这里真正的重点是:这是基本的语法。不要尝试反复试验。阅读一本好书或教程,并遵循它——而不是“发明”你自己的语法。