小编Joh*_*ohn的帖子

匿名类中的私有变量/方法?

我创建了一个匿名类,其中我声明了一些变量和方法.我的java老师告诉我要把这些私有化.我没有看到改变修饰符有什么不同,因为无论如何这些变量和方法对于匿名类是私有的,所以我更喜欢根本没有修饰符.谁是对的,什么更有意义?请参阅下面的示例代码,其中我选择"map"和"convert"的修饰符而不是将其设为私有.

Collections.sort(list, new Comparator<String>(){
  public int compare(String a, String b){
    return convert(a).compareTo(convert(b));
  }
  Map<String, String> map = new HashMap<String, String>();
  String convert(String s) {
    String u = map.get(s);
    if (u == null)
      map.put(s, u = s.toUpperCase());
    return u;
  }
});
Run Code Online (Sandbox Code Playgroud)

java access-modifiers anonymous-class

8
推荐指数
2
解决办法
1605
查看次数

呼叫之间的地图/收集顺序是否稳定?

如果我有一个哈希映射并重复遍历这些对象,那么我是否保证每次调用的顺序都相同?例如,以下打印两行彼此不同:

Map<String,Integer> map = new HashMap<String,Integer>()
  {{ put("a", 1); put("b", 2); put("c", 3); }};
System.out.println(map);
System.out.println(map);
Run Code Online (Sandbox Code Playgroud)

这是集合和集合的一般情况吗?如果是这样,如果你必须以相同的顺序在同一个集合上迭代两次(不管是什么顺序),最好的方法是什么?我想转换成一个列表.

java iteration collections

4
推荐指数
1
解决办法
1069
查看次数