我的一位教授曾说过以下代码永远不应该做:
的System.out.println(object.toString());
他说(我相信引用"有效Java")会导致双重调用.由于print语句调用对象的toString方法,因此将toString方法调用两次效率较低.首选方法是使用:
的System.out.println(对象);
显然,这种方式在代码中看起来更好,可以节省时间.无论怎样,我都会这样做,但我的问题是"这实际上更有效吗?".在查看PrintStream文档时,print方法已被重载以获取String作为参数(如果首先调用toString方法,则会出现这种情况).我没有看到那个版本的print方法调用输入参数的toString方法,我不相信它会这样做有意义.
此外,对不起,如果这是重复.我找不到任何主题.
这似乎是一个常见问题,但建议框中的任何项目都没有准确解释我想知道的内容。在此链接中,每个人都建议使用枚举类型(我现在已经研究过,但之前从未使用过)。我打算建议简单地使用 HashMap 并阅读答案,看看 Enum (http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html)实际上是否是更好的答案。根据 oracle 上的链接,“只要需要表示一组固定的常量,就应该使用枚举类型。” 所以,确实如此。
我的问题是...为什么?是不是更像是签订了一份不会改变的契约?这是获得某些类功能的更短的方法吗?表现如何?为什么这与仅仅在同一个类中定义常量有什么不同?
谢谢你!
我正在用Java编程,并被告知要将一些代码重构为编码标准.我被告知util包适用于静态实用程序类而不是应用程序功能.它是否正确?这到底是什么意思?另外,考虑到"java.util"包中包含Collection接口,我还能如何完成需要列表的任务?