这是测试类。 在这里我试图将字符串添加到字符串数组。在我的例子中,我不能在这里使用ArrayList。所以请给我一个解决方案。
public class Test {
String[] name = new String[10];
public void addName(String sName){
for(String s : name){
if(s==null){
s = sName;
break;
}
}
}
public void displayString(){
for(String s : name){
System.out.println(s);
}
}
}
这是主要的课程
public class TestDemo {
public static void main(String[] args) {
Test t = new Test();
t.addName("prasad");
t.addName("ravi");
t.addName("john");
t.displayString();
}
}
displayString的输出为空
答案 0 :(得分:4)
s = sName
将值赋给local变量,该变量曾用于保存与数组第N个成员相同的值,但在内存中使用不同的位置。
长话短说,更新s
时,数组元素不是。
试试这个:
public void addName(String sName){
for(int i= 0; i < name.length; i++){
if(name[i]==null){
name[i] = sName;
break;
}
}
}
答案 1 :(得分:3)
将s视为复制名称[index]的值的变量。为s赋值不会改变name [index]的值。
尝试:
public void addName(String sName){
for (int i = 0; i < name.length; i++) {
if (name[i] == null) {
name[i] = sName;
break;
}
}
}
答案 2 :(得分:1)
像这样的事情应该有效
public void addName(String sName){
for(int i=0; i<name.length; i++){
if(name[i]==null){
name[i] = sName;
break;
}
}
}