Viv*_* Xu 2 java random primes
我的编码是到1000范围为1至创建随机100的质数,但我得到了一个错误信息The operator > is undefined for the argument type(s) Integer, int,在
Integer date;
int count = 0;
for (int i = 0; i < 100; i++)
{
    date = new Integer(value.nextInt(1000));
    if(date > 1 && prime(date) != -1)`
        tree.add(date);
}
我猜它会产生错误,因为我们不能说整数> 1?但那我们该怎么说呢?
因为prime(date) != -1),我不清楚这是什么意思,看起来不必要.
Java编译器最后一次生成错误的版本是1.4版,在2004年被1.5取代,当时语言规范引入了使示例编译所需的自动装箱行为而没有问题.
我已经尝试使用Java 8编写代码并且编译得很好(在添加明显缺少的细节之后).
解决方案似乎很清楚:要么使用现代Java编译器,要么不强制它在1.4兼容模式下工作,或者,如果您碰巧在遗留项目上工作,请遵守管理Java相关历史版本的规则."手动拆箱"方法Integer是intValue().
如果你碰巧在一个稍微过时的Eclipse上使用Java 8,并且你的项目是基于maven的,那么你可能会遇到这个问题,因为m2e插件无法识别版本1.8并且回退到它的默认值1.4.在这种情况下,我建议升级到最新的Eclipse(Luna).
| 归档时间: | 
 | 
| 查看次数: | 5544 次 | 
| 最近记录: |