这确实是一个好奇心,而不是一个问题。
为什么Scanner
类没有nextChar()
方法?现在看来似乎应该当你认为它有一个事实next
,nextInt
,nextLine
等方法。
我知道您可以执行以下操作:
userChar = in.next().charAt(0);
System.out.println( userChar );
但是为什么没有nextChar()
方法呢?
原因是Scanner类旨在读取以空格分隔的令牌。这是包装基础输入流的便捷类。在扫描仪之前,您所能做的只是读取单个字节,如果要读取单词或行,这将是一个很大的麻烦。使用Scanner,您可以传入System.in,它会执行许多read()操作来为您标记输入。读取单个字符是更基本的操作。
资源
您可以使用(char) System.in.read();
。
在这个平台上,关于对象类的clone()方法有很多问题。每个人的回答都不一样。关于clone()为什么要受到保护,有很多问题。有人说.. null > 如果上面的第二点是正确的,那么我们如何直接访问子类中的clone()。 什么是不可克隆对象。 有什么需要重写clone()在子类中进行克隆的情况。而另一个包的受保护成员可以通过直接继承其父类在另一个包中访问。 为什么object.clone()没有
问题内容: 众所周知,有多种原因(请参阅第一个答案)。为什么只有一个例外涵盖所有这些情况,而不是多个继承自的细粒度情况? 问题答案: 我期望如此,因为发生这种情况时,您实际上什么也做不了:为何耗尽资源几乎无关紧要,因为无论如何您都被搞砸了。也许附加信息会很好,但是… 我知道tomcat会尝试执行“内存不足降落伞”操作,在此过程中,它们会保留一块内存并尝试释放它,但是我不确定它的工作原理。
和之间的主要区别是什么? 我的主要目标是使用可以“连接”到任何源(例如文件)的读取所有文本。 我应该选择哪一个,为什么?
问题内容: Iterables提供了两种方法 但只有一个 是否存在任何破坏对称性的设计/实现原因? 问题答案: 我认为要点是,没有理由可以使用来完成此操作。Guava尽力使API保持较小,因此没有添加可以/应该以其他方式轻松完成的事情。 另一方面,还没有一种机制可以测试iterable是否为空,如果是,则返回默认值而不是第一个值。因此,。 同样,没有简单的方法来获取最后一个元素,因此和
问题内容: 虽然有一种方法没有。这是为什么?文件在完成后会自动关闭吗? 谢谢! 问题答案: 该类的javadoc将类描述为: 文件和目录路径名的抽象表示。 只是路径名的一种表示形式,有一些关于文件系统(如)和目录处理的方法,但是实际的流输入和输出在其他地方完成。流可以打开和关闭,文件不能。 (我个人的看法是,不幸的是Sun后来继续创建,给命名不一致带来了很大的困惑。)
当使用Java8流时,获取一个列表、从中创建一个流、处理业务并将其转换回来是很常见的。类似于: 有什么想法吗?