List<Integer> list = new ArrayList<Integer>(); String str = "abc"; 向list中加入String
展开全部
哈哈。获取方法的method[0]你自己改写成获取add的就行了。我这个也是获取add的
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>();
String str = "abc";
Method[] method=list.getClass().getMethods();
for(int i=0;i<method.length;i++){
System.out.println(method[i]);
}
method[0].invoke(list, str);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}
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>();
String str = "abc";
Method[] method=list.getClass().getMethods();
for(int i=0;i<method.length;i++){
System.out.println(method[i]);
}
method[0].invoke(list, str);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}
展开全部
出错了吧?
你定义的list里面只能存放Integer类型或者int数字,但是你存放了abc字符串。
你定义的list里面只能存放Integer类型或者int数字,但是你存放了abc字符串。
追问
那你有没有办法呢?
追答
把list定义为Object类型即可
List list = new ArrayList();
反射不适合这里,list绝对不能接受string类型的变量的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
绝对不可能.............
除非
List<Object> list = new ArrayList<Object>();
String str = "abc";
list.add((Object)str);
除非
List<Object> list = new ArrayList<Object>();
String str = "abc";
list.add((Object)str);
追问
如果利用反射可以吗?
追答
..你这问题就很怪 说起来反射没学过..不清楚
不过也许你可以试下 适配器??????
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询