Java 代码评估:这被认为是一种不好的做法吗?
此代码是否被视为不良做法?它是否比应该使用的内存更多Java 代码评估:这被认为是一种不好的做法吗?,java,Java,此代码是否被视为不良做法?它是否比应该使用的内存更多 int[] generateCoordinates(){ return new int[]{ new Random().nextInt(100), new Random().nextInt(100), new Random().nextInt(100) }; 是的,它使用的内存比它应该使用的要多,但是如果只调用generateCoordinates()几
int[] generateCoordinates(){
return new int[]{
new Random().nextInt(100),
new Random().nextInt(100),
new Random().nextInt(100)
};
是的,它使用的内存比它应该使用的要多,但是如果只调用
generateCoordinates()
几次,它不会有多大区别
也就是说,当一个实例可以满足您的所有需求时,没有理由创建多个Random
:
int[] generateCoordinates() {
Random random = new Random();
return new int[] {
random.nextInt(100),
random.nextInt(100),
random.nextInt(100)
};
}
如果多次调用
generateCoordinates()
,将random
作为一个实例变量是有意义的,因为实例化和垃圾收集大量random
对象可能成本高昂。这是对资源的浪费,您不需要3个Random类实例来执行该操作返回new Random().ints(3,0100).toArray()代码>会更好。