让我们假设我将值存储到列表A,列表B&列出C到for循环。 列表A,B,C值通过以下方式添加:
for (int j = 0; j <5; j++)
{
list_A.add("Value"+i);
list_B.add("Value"+i);
list_C.add("Value"+i);
}
要通过以下方式使用此关键字从方法中访问列表:
private CharSequence ListA[]; // declaration
this.ListA= list_A.toArray(new CharSequence[list_A.size()]); //accessing with this keyword
现在我通过以下方式将所有这些列表添加到另一个列表
List<List<String>> finallist = new ArrayList<>();
finallist .add(list_A);
finallist .add(list_B);
finallist .add(list_C);
我做了一些搜索,但我找不到如何声明和访问List&lt;列表与LT;串GT;&GT;使用此关键字?
注意:这是我提出的here问题的实际修改。由于我无法得到任何答案,我想我可以让它变得有点简单,并在这里提出了问题。
答案 0 :(得分:0)
使用this关键字访问该类当前实例的方法成员。您只能在函数内部执行此操作 - 因为在函数之外,此关键字未定义。
一般情况下,您实际上并未使用此变量或此方法。如果覆盖范围内的另一个变量使用相同的名称,则只需要这样做。通常,您会在自动生成的setter / constructors中看到这一点,而不是其他更多 - 只是不重用名称。
答案 1 :(得分:0)
当访问另一个类的变量时,你可以这样做:
public static final List<String> list_A = new ArrayList<>();
static{
for (int j = 0; j <5; j++)
{
list_A.add("Value"+i);
}
}
CharSequence ListA[];
ListA = MainClass.list_A.toArray(new CharSequence[MainClass.list_A.size()]);
我建议在static
list_A
关键字
答案 2 :(得分:0)
您需要显示代码,因为在这种情况下范围确实很重要。是否需要this关键字在很大程度上取决于声明事物的位置。
答案 3 :(得分:0)
this.ListA
表示您想要访问ListA
对象的字段this
如果您在某个方法中将变量声明为List<List<String>> finallist = new ArrayList<>();
,那么不是this
对象的字段,并且您无法使用{{1}访问它}关键字。如果要在方法外部访问它,则应将其声明为类字段。
关于类,字段和this
,这是Java非常基础的事情。你应该学习Java非常基础知识来消除这样的数百个问题,你将花费很多时间。不仅仅是学习基础知识。