jjzjj

ToString

全部标签

java - 当使用 JSTL forEach 时,数组打印 String.toString() 而不是实际的字符串值

我有以下代码:String[]columnHeaders={"Banana","Apple","Carrot","Orange","Lychee","Permisson"};">执行JSP时,将打印以下值:org.apache.commons.el.ImplicitObjects$7@6ac86ac8org.apache.commons.el.ImplicitObjects$7@6ac86ac8...在我看来,打印的是内存值,而不是每个字符串中包含的值。我在这里缺少什么? 最佳答案 您正在引用items值不正确。Taglibs/EL

Java - 为什么以下代码打印出 "BAC"而不是 "ABC"?

请帮助我理解这段代码。我是Java的新手。//C.javaclassC{publicstaticvoidmain(Stringarg[]){System.out.println("A"+newC());}publicStringtoString(){System.out.print("B");return"C";}}//output://BAC 最佳答案 评估是这样的:Callprintln("A"+newC())SincenewC()hasn'tbeencomputedyet,weneedtocomputeit,so...Comp

java - 如何确保在类中重新实现 toString() 方法?

假设我有一个接口(interface)和许多实现该接口(interface)的类。我想在每个类中强制覆盖toString()的默认实现(也就是说,如果某些类不覆盖它,那将导致编译错误)。有可能实现吗?在接口(interface)体中声明publicabstractStringtoString();,带或不带@Override注解,都是合法的,但没有任何作用。 最佳答案 是的,有点。protectedabstractStringinternToString();然后@OverridepublicStringtoString(){ret

java - 我什么时候应该覆盖 toString()?

我知道Javadocssays:Returnsastringrepresentationoftheobject.Ingeneral,thetoStringmethodreturnsastringthat"textuallyrepresents"thisobject.Theresultshouldbeaconcisebutinformativerepresentationthatiseasyforapersontoread.Itisrecommendedthatallsubclassesoverridethismethod.但是我什么时候应该花时间为我的类覆盖toString方法?除了覆

java - 为什么我应该使用 Integer.toString() 而不是只打印 Integer?

我正在学习Java教程,它让我做类似的事情:intk=5;System.out.println("Thenumberis"+Integer.toString(k));就像我一直在做的一项很好的运动一样,但我不禁想知道,为什么要使用那种方法呢?似乎需要大量额外的输入才能获得与以下相同的功能:intk=5;System.out.println("Thenumberis"+k);对非字符串数据类型使用toString()方法是否有充分的理由?在我的具体示例中,是否有任何不能自动转换为字符串的int值? 最佳答案 这是您可以采用的众多“安全

java - BeanUtils 与 ReflectionToStringBuilder 的性能对比(用于 Bean 类)

我的Web应用程序中有大量Javabean类,我正试图找到一种简单的方法来在这些bean中实现toString()方法。toString()方法将用于记录整个应用程序,并且应该打印bean中所有属性的属性值对。我正在尝试两种选择:1.BeanUtils.describe()(Apachecommons-beanutils)2.ReflectionToStringBuilder.toString()(Apache通用语言)由于这是一个预期具有高流量的Web应用程序,因此实现必须是轻量级的,并且不应影响性能。(内存使用、处理器使用等是主要考虑因素)。我想知道根据上述标准,其中哪些表现更好。

Java:打印出用于调试的对象

我想要一种简单的方法来打印出java对象,或者换句话说,将对象序列化为字符串。我想查看对象中包含的所有变量的值,如果有更多对象(如列表或其他),它也应该打印出该对象中的内容。基本上,它类似于JSON编码,但JSON不支持无穷大,我需要查看double或float值之一是否存在无穷大或NaN。我该怎么做? 最佳答案 你可以使用Gson序列化为JSONnowsupportsNaNand+/-infinity 关于Java:打印出用于调试的对象,我们在StackOverflow上找到一个类似的

java - Set.toString() 是如何实现的?

toString()方法在Set或其层次结构中没有被覆盖,那么元素是如何打印的?importjava.lang.Math;importjava.util.HashSet;classHello{publicStringname="";Hello(Stringname){this.name=name;}publicstaticvoidmain(Stringargs[]){Helloh1=newHello("first");Helloh2=newHello("second");Helloh3=newHello("third");Helloh4=newHello("fourth");Hello

java - 替代 Java 8 中的 MoreObjects

我想摆脱这种依赖:importcom.google.common.base.MoreObjects;是否有任何简单和/或优雅的方法来使用Java8native函数重写以下toString()函数?@OverridepublicStringtoString(){returnMoreObjects.toStringHelper(this).add("userId",this.userId).add("timestamp",this.timestamp).toString();} 最佳答案 您可以使用StringJoiner来自java.

java - 添加空字符串与 toString - 为什么不好?

根据工具PMD,以下是一种不好的做法:Strings=""+123;//badStringt=Integer.toString(456);//okThisisaninefficientwaytoconvertanytypetoa`String`.为什么这是一件坏事? 最佳答案 这是低效的,因为它涉及到一个不需要的字符串连接,因此会创建一个或两个额外的String对象-尽管我相信JIT可以优化它。对我来说更大的问题是代码不够清晰。调用toString是标准习惯用法,每个Java开发人员都可以理解(希望:-),因此您应该更喜欢这个。