Scala:排序错误
我有一个定义如下的类:Scala:排序错误,scala,sorting,Scala,Sorting,我有一个定义如下的类: class VocabWord(cn1: Int = 0, word1: String = null) { var cn = cn1 var word = word1 } var vocab = new Array[VocabWord](100) 此外,还存在一个数组,如下所示: class VocabWord(cn1: Int = 0, word1: String = null) { var cn = cn1 var w
class VocabWord(cn1: Int = 0, word1: String = null) {
var cn = cn1
var word = word1
}
var vocab = new Array[VocabWord](100)
此外,还存在一个数组,如下所示:
class VocabWord(cn1: Int = 0, word1: String = null) {
var cn = cn1
var word = word1
}
var vocab = new Array[VocabWord](100)
现在,当我执行如下操作时:
vocab = vocab.sortWith((x, y) => x.cn < y.cn)
vocab=vocab.sortWith((x,y)=>x.cn
我收到一个空指针异常。您正在用100个
null
初始化数组
var vocab = new Array[VocabWord](100) // Array(null, null, null.....)
您不能将方法cn
应用于null
var vocab = Array[VocabWord](new VocabWord(100), new VocabWord(3))
vocab.sortWith( (x, y) => x.cn < y.cn)
// Array(VocabWord@49ac9ae3, VocabWord@21a4c98e)
var vocab=Array[VocabWord](新VocabWord(100),新VocabWord(3))
sortWith(x,y)=>x.cn
您正在用100个null
初始化数组
var vocab = new Array[VocabWord](100) // Array(null, null, null.....)
您不能将方法cn
应用于null
var vocab = Array[VocabWord](new VocabWord(100), new VocabWord(3))
vocab.sortWith( (x, y) => x.cn < y.cn)
// Array(VocabWord@49ac9ae3, VocabWord@21a4c98e)
var vocab=Array[VocabWord](新VocabWord(100),新VocabWord(3))
sortWith(x,y)=>x.cn
如果要在中创建包含新元素的数组,可以使用array.init
:
val vocab = Array.fill[vocab_word](100)(new vocab_word)
目前,您正在创建一个包含100个空引用的数组。如果要在中创建包含新元素的数组,可以使用
array.init
:
val vocab = Array.fill[vocab_word](100)(new vocab_word)
目前,您正在创建一个包含100个空引用的数组。请使用CamelCase作为类名vocab_单词
是一个令人讨厌的东西,惯例是写vocab单词
<代码>在Scala中已过度重载!请使用CamelCase作为类名vocab_单词
是一个令人讨厌的东西,惯例是写vocab单词
<代码>在Scala中已过度重载!