import java.util.ArrayList;
public class DataBase {
public ArrayList<String> nameList = new ArrayList<>();
public void nameAdd(String s, int i) {
if (i < nameList.size()){
nameList.add(i, s);
//string not adding to arrayList, ive probably done it wrong.
}
System.out.println(s);
System.out.println("nameList.size = " + nameList.size());
System.out.println("arrayList number = " + i);
}
}
我已经编码大约一个月了,所以请原谅我,但是我基本上是想从我构建的GUI中提取一个字符串,将其切成一个名字,然后将该名字添加到用户单击另一个按钮以将其添加到“数据库”时。我已经能够增加应该为arrayList中的字符串设置索引的i,但是arrayList的大小并没有增加,因此我遇到了一堆错误,因此添加了if语句ive来阻止它尝试添加到尚未在arrayList中的索引。
答案 0 :(得分:0)
在您的代码中,我看到您的数组nameList
始终为空。
因为您有这行:
public ArrayList<String> nameList = new ArrayList<>();
此刻,您将创建数组(空),但是如果您第一次通过此方法,则可以使用nameAdd
方法:
nameAdd('ADDFIRSTELEMENT', 0)
您的if
状态始终为false
if (i < nameList.size()){
nameList.add(i, s);
//string not adding to arrayList, ive probably done it wrong.
}
您必须按照以下步骤更改支票:
if (i <= nameList.size())
由于索引的大小相同,因此可以在数组中添加元素。
如果需要,可以使用nameList ArrayList对象的contains
方法,以便查看字符串是否存在于数组中