将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