今天水一篇,阿里09年6月19年更新的华山版Java开发手册,对照一下。
版本号:
(一)命名风格
(二)常量定义
(五)集合处理
解读第5条:集合中subList()方法类似于String中的subString()方法,但是前者返回SubList对象,引用的地址跟原ArrayList引用指向同一个值,
所以会发生子SubList改变,同时父ArrayList也改变的情况:
List<String> sublist = list.subList(1, list.size());
解决方法(先创建一个新的list,再把值addAll就OK了):
List<String> sublist = new ArrayList<>(); sublist.addAll(list.subList(1, list.size()));
解读第3条:
public static void main(String[] args) { Map<String,String> map = new HashMap<String,String>(); map.put("first", "column1"); map.put("second", "column2"); Set<String> set = map.keySet(); set.add("ddd");//不可再进行添加操作 System.out.println(set); }
![](https://img2018.cnblogs.com/blog/1798861/201909/1798861-20190930144831748-1965190004.png)
解读15号规范,提出异议:Map中,values()方法返回的是V值集合,但是是一个Collection对象,而不是一个list集合对象,有JDK8的源码为证:
(八)注释规约
(九)其他
解读第3条:自己在eclipse上面测试,前后端不分离,前端用jsp所写,添加!后,显示的结果跟开发手册上面的正相反,$!{var}直接显示在了页面上。
还望各位大神在评论区解答疑惑。。。