用变量填充java数组

用变量填充java数组,java,arrays,Java,Arrays,我试图用一个变量填充java字符串数组。变量包含我从文本文件中读取的值。每次在数组中存储新值时,当前值都会被新值替换 下面的代码是我迄今为止尝试过的代码 int n = 0; String var1 = value; String array[] = {var1}; String [] array = new String[n]; for (int i =0; i < n; i++) { array[n++] = value; } int n=0;

我试图用一个变量填充java字符串数组。变量包含我从文本文件中读取的值。每次在数组中存储新值时,当前值都会被新值替换

下面的代码是我迄今为止尝试过的代码

int n = 0;

String var1 = value;

String array[] = {var1};

String [] array = new String[n];

    for (int i =0; i < n; i++) {

     array[n++] = value;

    }
int n=0;
字符串var1=值;
字符串数组[]={var1};
字符串[]数组=新字符串[n];
对于(int i=0;i
Java只有固定大小的数组;通过以下方式实现动态增长的“阵列”:

List array=new ArrayList();
对于(int i=0;i<42;++i){
字符串s=”“+i;
数组。添加(s);
}
for(字符串t:数组){
系统输出打印ln(t);
}
stringseven=array.get(7);
int n=array.size();
if(array.isEmpty()){…}
//在Java 8中:
array.stream().sorted().forEach(System.out::println);

使用(固定大小)阵列会很麻烦:

String[] array = new String[];
String[] otherVar = array;
for (int i = 0; i < 42; ++i) {
    String s = "" + i;
    array = Arrays.copyOf(array, i + 1);
    array[i] = s;
}
String[]数组=新字符串[];
字符串[]otherVar=数组;
对于(int i=0;i<42;++i){
字符串s=”“+i;
array=Arrays.copyOf(数组,i+1);
数组[i]=s;
}
在这里,每一步都会创建一个新数组,并复制旧数组的内容。 还要注意,
otherVar
保留初始空数组


请注意,
String[]a
String a[]
相同。后者只是为了与C/C++兼容,可读性较差。

这将无限期地添加字符串。从文件中读取所有数据时,必须设置
isFileNotEnded=false

    boolean isFileNotEnded = true;
    List<String> array = new ArrayList<>;
    while (isFileNotEnded) {
        array.add("hello");
        //stop here the infinite loop
    }   
boolean isFileNotEnded=true;
列表数组=新的数组列表;
while(isFileNotEnded){
add(“hello”);
//在这里停止无限循环
}   

值在哪里定义?我假设您向我们展示的代码来自循环内部,您正在将不同的值读入
value
?此外,由于您定义了两次
array
,因此您的代码示例永远无法编译。请给我们看看你的实际代码。我不知道文本文件中有多少数据。那么你不能使用数组,但你必须使用ArrayList
    boolean isFileNotEnded = true;
    List<String> array = new ArrayList<>;
    while (isFileNotEnded) {
        array.add("hello");
        //stop here the infinite loop
    }