小编Vit*_*nko的帖子

Java7"Solr/Lucene"错误有多严重?

显然Java7有一些关于循环优化的讨厌错误:谷歌搜索.

从报告和错误描述中我发现很难判断这个bug有多重要(除非你使用Solr或Lucene).

我想知道的是什么:

  • 我(任何)程序受影响的可能性有多大?
  • 这个bug是否足够确定,正常的测试会捕获它?

注意:我无法让用户使用我的程序-XX:-UseLoopPredicate来避免这个问题.

java java-7

65
推荐指数
2
解决办法
8594
查看次数

阵列的好处

正如我所看到的,列表在数组上的优势非常明显:

  • 泛型提供更精确的输入:List<Integer>, List<? extends Number>, List<? super Integer>.
  • 甲List接口有一堆有用的方法:addAll,remove等等.虽然对阵列除了获得/设置所有标准操作必须在过程中的方式通过将它传递给一个静态方法进行.
  • 集合提供了不同的实现,例如ArrayList,LinkedList不可修改和同步列表,可以隐藏在公共List接口下.
  • OOB长度控制.

作为缺点,我只能提到没有语法糖和运行时类型检查.同时支持两种结构需要频繁使用asListtoArray方法,这使得代码不易读取.所以我很好奇使用我想念的数组有什么重要的好处.

java arrays list arraylist

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

不必要的'其他'声明

如您所知,在Eclipse中,您可以启用" 不必要的'else'语句 "检查,这将在if-then-else上触发,提前返回.而且,根据我的经验,使用此类声明时有两种最可能的情况:

1)预检:

if (!validate(arg1)) {
    return false;
}
doLotOfStuff();
Run Code Online (Sandbox Code Playgroud)

2)检查后:

doLotOfStuff();
if (condition) { 
    return foo; 
} else {
    return bar; 
}
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,如果触发器打开,Eclipse将建议您将代码更改为:

doLotOfStuff();
if (condition) { 
    return foo; 
} 
return bar; 
Run Code Online (Sandbox Code Playgroud)

但是,我认为使用else语句返回更具可读性,因为它类似于业务逻辑的直接映射.如果这个"不必要的'其他'声明"代码约定很普遍,或者使用else语句的代码更优选,那么我很好奇吗?

java eclipse coding-style

21
推荐指数
2
解决办法
4674
查看次数

标签 统计

java ×3

arraylist ×1

arrays ×1

coding-style ×1

eclipse ×1

java-7 ×1

list ×1