SC-202004030939_20200908-潘旭

日志

问题:

​ 问题内容:这里的有点模糊,当时眼皮打架了,没听清。

        List<Integer> source = List.of( 100 , 20 , 99 , 78 , 9527 , 1 , 0 , -8526 );
        System.out.println("source:"+ source );
        System.out.println( source.hashCode() );
        
        System.out.println( "- - - - - - - - - - - - - - - - - - - - - - -" );
        
        List<Integer> list = List.copyOf( source );
        System.out.println("list:" +list );
        //list.add(555);    复制后的列表还是一个不可变列表,编译没问题,运行有错。
        System.out.println( list.hashCode() );  
        System.out.println( source == list ); // true
//运行结果
        source:[100, 20, 99, 78, 9527, 1, 0, -8526]
        140256216
        - - - - - - - - - - - - - - - - - - - - - - -
        list:[100, 20, 99, 78, 9527, 1, 0, -8526]
        140256216
        true

解决问题:List list = List.copyOf( source ); 这里List定义的新的变量指向了source列表的地址 ,所以两个列表比较后返回的是true。 还有就是复制后的列表还是一个不可变列表。

吐槽:

​ 抱歉!今天如往常一样,还是没有吐槽的。