请问程序哪里出错了?
public class Lili {int id;
String name;
public Lili(int id,String name){
this.id=id;
this.name=name;
}
static List<Lili> list=new ArrayList<Lili>();
Lili l_1=new Lili(0,"name1");
Lili l_2=new Lili(1,"name2");
{
list.add(l_1);
list.add(l_2);
}
public static Lili getSkillById(int id){
for(Lili h:list){
if(h.id==id)
return h;}
return null;
}
public static void main(String[] args){
Lili skill=getSkillById(0);
int i=skill.id;
System.out.print(i);
}
}
----------------解决方案--------------------------------------------------------
。。。。。。1.没插入util包
2.空指针错误,你自己看一下你那个静态方法返回了个什么东西
----------------解决方案--------------------------------------------------------
这个问题太复杂了,好像不能这样创建实例
[ 本帖最后由 lampeter123 于 2009-10-28 16:35 编辑 ]
----------------解决方案--------------------------------------------------------
是啊,我也搞不清楚,我就是想把所有的项添加到一个List里面去,都没成功,不知道该怎么处理
----------------解决方案--------------------------------------------------------
lz你这代码是你自己想出来的吗?
刚才运行了一下,中间的部分
{
list.add(l_1);
list.add(l_2);
}
没有被执行,所以Lili类的属性list为null。
大改了一下,反正能运行了,但不知道合不合lz的初衷
package test;
import java.util.ArrayList;
import java.util.List;
public class Lili {
class idName {
int id;
String name;
}
static List<idName> list=new ArrayList<idName>();
public Lili(){
idName idname= new idName();
idname.id=0;
idname.name="name1";
list.add(idname);
idname= new idName();
idname.id=1;
idname.name="name2";
list.add(idname);
}
public idName getSkillById(int id){
for(idName h:list){
if(h.id==id)
return h;}
return null;
}
public static void main(String[] args){
Lili lili = new Lili();
idName skill=lili.getSkillById(0);
String i=skill.name;
System.out.print(i);
}
}
----------------解决方案--------------------------------------------------------
谢谢楼上的解答
----------------解决方案--------------------------------------------------------
static List<Lili> list=new ArrayList<Lili>();
Lili l_1=new Lili(0,"name1");
Lili l_2=new Lili(0,"name1");
{
list.add(l_1);
list.add(l_2);
}
其中 Lili l_1=new Lili(0,"name1");
Lili l_2=new Lili(1,"name2");
只是给LILI 1_1 和 LILI 1_2 开辟了一个新行的空间Lili(0,"name1");Lili(1,"name2"); 空间为空 但是并没有赋值 所以返回的是NULL 然后重新赋值给Lili l_1和Lili l_2 问题可能就解决了 你再试试 我没时间现在 只是看了下
----------------解决方案--------------------------------------------------------