import java.util.ArrayList;
import java.util.List;class A {
private List<B> list = new ArrayList<B>(); public List<B> getList() {
return list;
} public void setList(List<B> list) {
this.list = list;
}
}class B {
private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}public class Test { public static void main(String[] args) {
A a = new A();
//写法 1.
for (int i = 0; i < 10; i++) {
a.getList().get(i).setName("sdfsdf");
//如果B中还有一堆的其他属性,就要a.getList().get(i).setXX("sdfsdf");就N多
}
//写法 2.
for (int i = 0; i < 10; i++) {
B b = a.getList().get(i);
b.setName("sdfsdf");
}
}
}如果B中还有一堆的其他属性
是写法1好还是写法2好,哪种的可读性好些?
解决方案 »
- [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
- 为什么system.out.print可以直接用呢?我没有在java.lang中找到这个方法.
- java中方法后面用throws声明异常有什么意义?
- 何时分配内存???
- 在DOS下运行这个test.class 文件怎么会报错的?
- 一个菜问题,求教
- 急求一个简单的java源代码!100分!!马上结帐
- 一个java 考试题,大家帮忙了
- 关于jbuilder电子版本的书籍
- 加入图象
- SWT 打包用什么打包工具可以不用jre。介绍一下谢谢
- java基础题----效率问题
{
b.setName("asdf");
}
List list = a.getList();
for (B b: list) {
b.setName("hello");
}
不需要每次循环都getList();
主要是不喜欢a.getList().get(i).setName("sdfsdf");这么长的写法,感觉可读性比较差
for (int i = 0; i < 10; i++) {
a.getList().get(i).setName("sdfsdf");
//如果B中还有一堆的其他属性,就要a.getList().get(i).setXX("sdfsdf");就N多
}
//写法 2.
for (int i = 0; i < 10; i++) {
B b = a.getList().get(i);
b.setName("sdfsdf");
}如果只set1个属性就写写法1,否则就写写法2,这种东西不用扣这么仔细,要说可读性,一行代码多几个方法调用就看不懂了,那读代码那位也忒差了点
写法4:
List list = a.getList();
for (B b: list) {
b.setName("hello");
}
不需要每次循环都getList();