我正在通过O'Reillys Java Cookbook(2ed)查看一些好东西,并发现Scanner.create()方法大约10次。但是在API或类声明\实现中没有这样的。例如:Page example
答案 0 :(得分:9)
它指的是非SDK扫描程序类型,或者是书中的错误。
Java 1.5/5(引入时)或SDK 6或SDK 7 API中没有static Scanner Scanner.create()
。也没有提到这种方法被淘汰(在Java SDK API中,有效地意味着它从未[官方]存在:-)。
更新说明:最早的预览版/测试版Java 5中确实存在create
工厂方法.RanRag在此问题上找到了relevant thread:
......不,你不会发疯:Scanner 在[Java 5] tiger-beta1 中有create()方法,但是他们在[Java 5]中切换到了构造函数] beta2 。
(所以唯一正确的方法是使用构造函数。)
快乐的编码。
答案 1 :(得分:2)
在Oracle forums中提到Scanner在tiger-beta1中有create()方法,但是他们在beta2中切换到了构造函数。
这不再是这样做的方法。你应该创建一个实例 Scanner类与创建任何实例的方式相同 其他类,使用构造函数。
Scanner sc = new Scanner(System.in)
答案 2 :(得分:1)