读zookeeper的源码(zookeeper.java)时发现的,平时没有怎么注意:
private final ZKWatchManager watchManager; List<String> getDataWatches() { synchronized(watchManager.dataWatches) { List<String> rc = new ArrayList<String>(watchManager.dataWatches.keySet()); return rc; } } List<String> getExistWatches() { synchronized(watchManager.existWatches) { List<String> rc = new ArrayList<String>(watchManager.existWatches.keySet()); return rc; } } List<String> getChildWatches() { synchronized(watchManager.childWatches) { List<String> rc = new ArrayList<String>(watchManager.childWatches.keySet()); return rc; } }
另数组与list的转换:
数组-->list
String[] userid = {"aa","bb","cc"}; List<String> userList = new ArrayList<String>(); Collections.addAll(userList, userid);
数组-->list
String[] userid = {"aa","bb","cc"}; List<String> userList = Arrays.asList(userid); 另:Arrays.asList()返回一个受指定数组支持的固定大小的列表。所以不能做Add、Remove等操作。 List list = new ArrayList(Arrays.asList(userid));这样操作就可以了。
list-->数组
List<String> strList = new ArrayList<String>(); strList.add("aa"); strList.add("bb"); Object[] objs = strList.toArray();
参考文献:
【1】http://jingyan.baidu.com/article/86f4a73e607f2937d7526972.html
【2】https://github.com/apache/zookeeper
微信公众号: 架构师日常笔记 欢迎关注!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步