2
Scalaのバージョン2.12.1-20161205-201300-2787b47コール `ConcurrentLinkedQueue.poll`は0の代わりに、ヌル
val max = 20
val queue = new java.util.concurrent.ConcurrentLinkedQueue[Int]()
(1 to 10).foreach(queue.offer)
def show(c: Int): Unit = {
val e = queue.poll()
if(c < max && e != null) {
println(e)
show(c + 1)
}
}
show(0)
REPL何が起こっ出力
1
2
3
4
5
6
7
8
9
10
0
0
0
0
0
0
0
0
0
0
を返すようですか?
'Int'に' null 'を割り当てることはできません(参照型ではありません)。したがって、それは0に変換されます。一般的にscalaではnullの使用は推奨されません。これがその理由の1つです。あなたはスカラ構文でJavaコードを書いていますが、あまり有用ではありません。スカラー・マインドセットに入ってください。 – Dima
@Dima 'ConcurrentLinkedQueue'の代わりにスカラーがありますか? – jilen