String name = "";
List<String> list = new ArrayList<String>(); list.add("1");
list.add("2");
list.add("3");
list.add("4"); for (name : list) {
System.out.println(name);
} 上面这段代码,为什么会编译错误?name我想在for循环外面用到。。
List<String> list = new ArrayList<String>(); list.add("1");
list.add("2");
list.add("3");
list.add("4"); for (name : list) {
System.out.println(name);
} 上面这段代码,为什么会编译错误?name我想在for循环外面用到。。
如果一定要,那就改成如下:
String name = "";
List <String> list = new ArrayList <String>(); list.add("1");
list.add("2");
list.add("3");
list.add("4"); for (String name : list) {
System.out.println(name);
this.name=name;
}
这里name貌似不是属性,这么用通不过检查,也不用专门这么声明一个属性吧,可以换个名字使用局部变量赋值.
另外这样循环外的变量会被反复赋值,直到最后一次循环.
如果要在循环外使用list集合的最后一个值,为什么不直接list.get(list.size()-1)呢 ( ̄(工) ̄)
1楼的那样写,我试过了,name还是不能通过的。
List <String> list = new ArrayList <String>(); list.add("1");
list.add("2");
list.add("3");
list.add("4"); for (String name : list) {
System.out.println(name);
}
不用什么name
String name = "";
List <String> list = new ArrayList <String>(); list.add("1");
list.add("2");
list.add("3");
list.add("4"); for (int i=0;i<list.size();i++) {
System.out.println(i.get(i));
}
String是不能少的,如果想在外面使用到变量,只能另外编程,毕竟,这里name是指list中的每一个对象。
List <String> list = new ArrayList <String>(); list.add("1");
list.add("2");
list.add("3");
list.add("4"); for (String lstName : list) {
System.out.println(lstName);
}
import java.util.List;
public class Test {
String name = "";
public static void main(String[] args) {
new Test().meth();
}
public void meth() {
//String name = ""; 放在这里是通不过的 ;楼上的朋友提过了。
List <String> list = new ArrayList <String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
for (String name : list) { //String name = ""; 在meth()里面 name不就是重名了吗
System.out.println(name);
this.name = name;
System.out.println(this.name);
}
}
}