【问题标题】:java class and arraylistjava类和arraylist
【发布时间】:2020-04-21 08:45:11
【问题描述】:

我正在学习java。我对数组列表有疑问。
我添加了代码。你能帮我吗?
我创建了一个模型类,它的名称是文件。
另外,我添加了 setter 和 getter。
我在主活动中创建了此类的一个对象,其名称为“已保存”。
我在数组列表中添加了一些元素。
但是当我写arraylist的时候,所有的元素都是最后添加的元素。

''' 
public class file {

String language;
String targetLanguage;
int grade;

public String getLanguage() {
    return language;
}

public void setLanguage(String language) {
    this.language = language;
}

public String getTargetLanguage() {
    return targetLanguage;
}

public void setTargetLanguage(String targetLanguage) {
    this.targetLanguage = targetLanguage;
}

public int getGrade() {
    return grade;
}

public void setGrade(int grade) {
    this.grade = grade;
}
} 



public class MainActivity extends AppCompatActivity {

ArrayList<file> array = new ArrayList<>();
dosya saved =new file();


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    saved.setLanguage("English");
    saved.setTargetLanguage("Turkish");
    saved.setGrade(10);
    array.add(saved);

    saved.setLanguage("Spanish");
    saved.setTargetLanguage("French");
    saved.setGrade(20);
    array.add(saved);

    saved.setLanguage("Italian");
    saved.setTargetLanguage("Finnish");
    saved.setGrade(30);
    array.add(saved);


    Log.d("result 1", array.get(0).getLanguage());
    Log.d("result 2", array.get(1).getLanguage());
    Log.d("result 3", String.valueOf(array.get(2).getLanguage()));

}
}
'''

结果: 结果 1:意大利语 结果 2:意大利语 结果 3:意大利语

提前致谢

【问题讨论】:

  • 作为一个好的做法,类名的第一个字母应该是大写的。而且,很多库都有一个类“File”,它是一个通用名称。您可以考虑将您的 File 放入一个新的包中,以减少在代码的其他地方使用它时导入错误的 File 类的可能性。

标签: java class arraylist


【解决方案1】:

您将引用存储在 List 中,在添加到 List 之前创建新的 saved 对象

List<file> array = new ArrayList<>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    dosya saved =new file();
    saved.setLanguage("English");
    saved.setTargetLanguage("Turkish");
    saved.setGrade(10);
    array.add(saved);

    saved =new file();
    saved.setLanguage("Spanish");
    saved.setTargetLanguage("French");
    saved.setGrade(20);
    array.add(saved);
    saved =new file();
    saved.setLanguage("Italian");
    saved.setTargetLanguage("Finnish");
    saved.setGrade(30);
    array.add(saved);


    Log.d("result 1", array.get(0).getLanguage());
    Log.d("result 2", array.get(1).getLanguage());
    Log.d("result 3", String.valueOf(array.get(2).getLanguage()));

}
}

【讨论】:

    猜你喜欢
    • 2014-06-13
    • 2013-02-01
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多