2017-11-19 14 views
-3

このコードは悪い習慣と考えられていますか?それは必要以上のメモリを使用していますか?コード評価:これは悪い習慣と考えられますか?

int[] generateCoordinates(){ 
    return new int[]{ 
      new Random().nextInt(100), 
      new Random().nextInt(100), 
      new Random().nextInt(100) 
    }; 
+3

それはリソースの無駄です、あなたはそれを行うためにランダムなクラスの3つのインスタンスを必要としません。 –

+0

'return new Random()。ints(3、0、100).toArray();' –

答えて

2

はい、それはそれが必要以上のメモリを使用しますが、あなただけgenerateCoordinates()数回呼び出した場合、それははるかに違いを生むことはないのです。

int[] generateCoordinates() { 
    Random random = new Random(); 
    return new int[] { 
      random.nextInt(100), 
      random.nextInt(100), 
      random.nextInt(100) 
    }; 
} 

そして、あなたはgenerateCoordinates()何度も呼び出すと、それはrandomインスタンス変数を作るために理にかなって:そこに1つのインスタンスはすべて、あなたのニーズに応えることができるときRandomの複数のインスタンスを作成する理由はません、と述べた

多くのオブジェクトをインスタンス化したりガベージコレクションすると、コストが高くなる可能性があります。

関連する問題