A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周靖轩 中级黑马   /  2014-9-21 20:03  /  2080 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Iterator<Integer> iterator = new ArrayList<Integer>().iterator();写一个程序,给此  ArrayList 添加一个“String”的值。

这题怎么做,急求解决!

15 个回复

倒序浏览
package com.credream.refelect;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
public class TestFile {
public static void main(String[] args) throws Exception {
List<Integer> list = new ArrayList<Integer>(); //定义Integer泛型
String str = "abc"; 
Method[] method=list.getClass().getMethods();//取得list的所有方法
System.out.println(method.length);
for(int i=0;i<method.length;i++){
System.out.println(method[i]);//遍历打印list的方法
}
method[0].invoke(list, str);//通过反射来执行list的第一个方法,第一个是list对象,代表该对象的方法,第二个是方法参数
System.out.println(list.size());
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}
反射机制
回复 使用道具 举报
however_ 发表于 2014-9-21 20:07
package com.credream.refelect;
import java.lang.reflect.Method;
import java.util.ArrayList;

谢谢!不过你看错了,题目是Iterator<Integer> iterator = new ArrayList<Integer>().iterator()
不是List<Integer> list = new ArrayList<Integer>();
回复 使用道具 举报
周靖轩 发表于 2014-9-21 21:17
谢谢!不过你看错了,题目是Iterator iterator = new ArrayList().iterator()
不是List list = new Array ...

你这题目就有问题。Iterator iterator = new ArrayList().iterator()虽然new了一个ArrayList,可这个ArrayList根本访问不到,怎么往里面添加数据?
回复 使用道具 举报
fantacyleo 发表于 2014-9-21 21:40
你这题目就有问题。Iterator iterator = new ArrayList().iterator()虽然new了一个ArrayList,可这个Arra ...

这是在别人发的题里看到的,我也觉得这题有问题,不过是我是刚学没多久,不敢确定。
你确定是这题错了吗???
回复 使用道具 举报
还 不会呢呢呢。。。。。。。。。。。
回复 使用道具 举报
周靖轩 发表于 2014-9-21 21:57
这是在别人发的题里看到的,我也觉得这题有问题,不过是我是刚学没多久,不敢确定。
你确定是这题错了吗 ...

如果是ListIterator还有救,因为ListIterator有add方法,Iterator嘛我实在是无能为力了
回复 使用道具 举报
感觉这题有点问题,泛型都写了Integer,怎么又要存String吗
回复 使用道具 举报
周靖轩 发表于 2014-9-21 21:17
谢谢!不过你看错了,题目是Iterator iterator = new ArrayList().iterator()
不是List list = new Array ...

我总觉得差不多 答案我也没确定  只做参考吧
回复 使用道具 举报
这是高新部分的内容~~~楼主这个不会就别急着往后走流程了!先复习下高新部分
提示一下:用反射技术,可以擦除泛型,绕过泛型的限制,比如往一个ArrayList<Integer>中添加String
回复 使用道具 举报
沙拉很好吃 发表于 2014-9-21 22:35
感觉这题有点问题,泛型都写了Integer,怎么又要存String吗

ArrayList<Integer> arr = new ArrayList<Integer>();这个是可以添加String的,编译去泛型化,用反射的方式添加,
回复 使用道具 举报
四条眉毛 来自手机 中级黑马 2014-9-22 23:06:56
12#
学习了,原来是这样啊,嘿嘿
回复 使用道具 举报
周靖轩 发表于 2014-9-22 22:29
ArrayList arr = new ArrayList();这个是可以添加String的,编译去泛型化,用反射的方式添加,
...

原来这样啊,视频中有讲吗,我还没看到那
回复 使用道具 举报
有做出来的吗?
回复 使用道具 举报

两种情况可以做,一种是ArrayList arr = new ArrayList();还一种是列表迭代器的情况。
像题目这种普通迭代器就做不出来。应该是题目的问题,之前在论坛看到别人发的面试题复制下来的。
回复 使用道具 举报
沙拉很好吃 发表于 2014-9-23 09:14
原来这样啊,视频中有讲吗,我还没看到那

高新技术中有讲到的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马