日期:2014-05-20  浏览次数:20680 次

求解下面有关Java的代码,尤其是for循环中的第一句
public static void main(String[] args) {
NewTitle car=new NewTitle(1,"汽车","管理员");
NewTitle test=new NewTitle(2,"高考","管理员");
 
List newsTitleList=new ArrayList();
 
newsTitleList.add(car);
newsTitleList.add(test);
 
System.out.println("新闻标题总数为:"+newsTitleList.size()
+"条");
 
for(int i=0;i<newsTitleList.size();i++){
NewTitle title=(NewTitle) newsTitleList.get(i);//第1句
System.out.println((i+1)+";"+title.getNewTitleName()); //第二句
}

------解决方案--------------------
就是创建2个NewTitle对象,然后放到一个List中,再从list中循环取出其中的对象,并显示对象的信息。
第一句就是从list中取出一条记录,转换为NewTitle类型
第二句就是打印取出对象的name信息,i+1就是为了显示个序号
------解决方案--------------------
NewTitle title=(NewTitle) newsTitleList.get(i);//第1句
newsTitleList是个ArrayList,它可以通过.get(int index)得到你想要的对象,类比数组的Array[i],然后由于没有规律传入这个list的类型所以需要强转,不想强转写成List<NewTitle> newsTitleList = new ArrayList<NewTitle>();
------解决方案--------------------
从List集合中调用get(i)方法得到的是Object对象,是必须强制转换成你自己的类型
------解决方案--------------------
List是用来容纳Object的,add方法隐含了将NewTitle转型为了Object的操作,所以取出时必须强制转型为原类型。其实JDK1.5以上支持泛型,就可以省略此过程。
------解决方案--------------------
如果你不想强制转型。那使用泛型
List<NewTitle> newsTitleList=new ArrayList<NewTitle>();