日期:2014-05-20 浏览次数:20671 次
public class Test1{ public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); append(list); System.out.println(list.get(0)); } public static void append(List list){ list.add("0042"); } }
System.out.println(list.get(0));
System.out.println(list.get(0)+1);
System.out.println(list.get(0));
System.out.println(list.get(0).getClass());
public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); append(list); System.out.println(list.get(0)); System.out.println(list.get(0)+1); Object o = list.get(0); System.out.println(o.getClass()); System.out.println(list.get(0).getClass()); } public static void append(List list) { list.add("0042"); }
------解决方案--------------------
上边说的已经很全面了,leisore 说的是对的
我再补充一点 ,java编译器很智能的 ,只有用到方法或者引用的时候才会强制类型转换
像这种System.out.println(list.get(0));是不会强制类型转换为Integer的 ,因为没有必要,java编译器没那么傻 希望多给点分 嘿嘿
------解决方案--------------------