Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala:排序错误_Scala_Sorting - Fatal编程技术网

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中已过度重载!