编程语言
首页 > 编程语言> > 将CharSequence传递给Java中的扫描仪

将CharSequence传递给Java中的扫描仪

作者:互联网

Scanner类具有使用String的构造函数.

Scanner s = new Scanner( myString ) ;

如何将CharSequence对象送入新的扫描仪?我首先可以从CharSequence生成String,但这效率低下而且很愚蠢.

Scanner s = new Scanner( myCharSequence.toString() ) ;  // Workaround, but seems needlessly inefficient to instantiate a `String`. 

我正在寻找一种直接从扫描仪访问CharSequence的方法.像这样:

Scanner s = new Scanner( myCharSequence ) ;  // Use `CharSequence` directly.

Scanner类在构造函数中也采用Readable. CharSequence可以呈现为可读吗?还是有其他解决方法?

解决方法:

鉴于构造函数仅接受String而不接受更通用的CharSequence,因此您不接受.除非您在CharSequence上调用toString,否则不会这样,这将使您获得String,这将满足构造函数的要求.

因此,如问题中所示,调用CharSequence::toString的解决方法确实是可行的方法:

new Scanner( myCharSequence.toString() ) 

标签:java-util-scanner,charsequence,string,java
来源: https://codeday.me/bug/20191109/2010901.html