阅读源码题(持续更新)

    public static void main(String[] args) {
        Integer [] datas = new Integer[]{1,2,3,4,5};
        List list = Arrays.asList(datas);
        System.out.println(list.size());
    }

    public static void main(String[] args) {
        int [] datas = new int[]{1,2,3,4,5};
        List list = Arrays.asList(datas);
        System.out.println(list.size());
    }

上半截代码打印5,下半截代码打印一。大概情况是由于基础类型不能做泛型, asList方法将整个数组看为一个参数。

---------------------------------------------------------------------------------------------------------------------------------------

 

 public static void main(String[] args) {
        StringBuffer a = new StringBuffer("A");
        StringBuffer b = new StringBuffer("B");
        operate(a,b);
        System.out.println(a+","+b);
    }
    static void operate(StringBuffer x,StringBuffer y){
        x.append(y);
        y = x;
    }

答案 : AB,B

原因:对象作为参数传递后不能改变引用。

你可能感兴趣的:(鄙视题(是真的鄙视))