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推...