我试图用变量填充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;
}
答案 0 :(得分:2)
Java只有固定大小的数组;动态增长&#34;阵列&#34;用List实现:
List<String> array = new ArrayList<>();
for (int i = 0; i < 42; ++i) {
String s = "" + i;
array.add(s);
}
for (String t : array) {
System.out.println(t);
}
String seven = array.get(7);
int n = array.size();
if (array.isEmpty()) { ... }
// In 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;
}
在每个步骤中创建一个新数组,复制旧数组的内容。
另请注意otherVar
保留了初始的空数组。
请注意,String[] a
与String a[]
相同。后者仅用于兼容C / C ++,并且可读性较差。
答案 1 :(得分:0)
这将无限期地添加一个字符串。当您从文件中读取所有数据时,您必须设置isFileNotEnded = false
boolean isFileNotEnded = true;
List<String> array = new ArrayList<>;
while (isFileNotEnded) {
array.add("hello");
//stop here the infinite loop
}