while(iter.hasNext()){      System.out.println( ((Resource)iter.next()).getChineseName() + "=" + ((Resource)iter.next()).getEnglishName() ); 报错如下图所示: 在 Java 中用null表示无值返回。在 Java 里,null 是一个关键字,不是一个对象,所以对它调用任何方法都是非法的 笔者就常在类型转换时见到空指针错误,便是由null的特殊性导致的 而在scala中,对map类型使用get时,返回的是Option类型 Option类型 而为了进一步得到value,一般再进行一次get 于是,当对No... 问题解决: java . util . NoSuchElementException 环境:MAC Eclipse Maven Project异常堆栈:Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00) Maven home: /Users/libing/code/eclipse_w Scanner 类抛出 java . util . NoSuchElementException 当我使用了Scanner之后将其关闭,下次调用会抛出 java . util . NoSuchElementException public class Test { public static void main(String[] args) { new Test().test(); 有时候在编写Spark代码的时候本地调试通过但是提交到集群后无法运行,报如下错误: java . util . NoSuchElementException : None .get at at .......出现原因出现这种报错的原因是Scala中null或 None 的错误使用;或是对空值没有做任何处理时可能会任何语言都有一种方式来表示“空”, java 中使用null来表示,在Scala中用 None 来表示! None ... None .get java . util . NoSuchElementException : None .get scala. None $.get(Option.scala:529) scala. None $.get(Option.scala:527) org.apache.spark.sql.execution.FileSourceScanExec.needsUnsafeRowConversion$lzycompute(DataSo Error:scalac: Error: None .get java . util . NoSuchElementException : None .get at scala. None $.get(Option.scala:349) at scala. None $.get(Option.scala:347) at scala.tools.nsc.transform.Delambdafy$DelambdafyT... java 输入流报错: Exception in thread "main" java . util . NoSuchElementException at java .base/ java . util .Scanner.throwFor(Unknown Source) at java .base/ java . util .Scanner.next(Unknown Source) at java .base/ java .... 避免null使用大多数语言都有一个特殊的关键字或者对象来表示一个对象引用的是“无”,在 Java ,它是null。在 Java 里,null 是一个关键字,不是一个对象,所以对它调用任何方法都是非法的。但是这对语言设计者来说是一件令人疑惑的选择。为什么要在程序员希望返回一个对象的时候返回一个关键字呢?Scala的Option类型为了让所有东西都是对象的目标更加一致,也为了遵循函数式编程的习惯,Scala鼓 None 是一个object,是Option的子类型,定义如下 case object None extends Option[Nothing] { def isEmpty = true def get = throw new NoSuchElementException (" None .get") scala推...