访问列表<list <string>&gt;使用此关键字

时间:2017-02-10 05:52:56

标签: java android list this

让我们假设我将值存储到列表A,列表B&amp;列出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问题的实际修改。由于我无法得到任何答案,我想我可以让它变得有点简单,并在这里提出了问题。

4 个答案:

答案 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非常基础知识来消除这样的数百个问题,你将花费很多时间。不仅仅是学习基础知识。