草庐IT

ToString

全部标签

java - (字符串)还是 .toString()?

我有一个带有Objecto参数的方法。在这个方法中,我完全知道“o”中有一个不为空的String。无需检查或执行其他操作。我必须像对待String对象一样对待它。只是好奇-什么更便宜-将其转换为String,或使用Object.toString()?还是按时间-/cpu-/mem-价格都一样?更新:该方法接受Object因为它是一个接口(interface)的实现。无法更改参数类型。而且它根本不能是null。我只是想说我不需要检查它是否为空或为空。就我而言,总是有一个非空字符串。 最佳答案 转换为字符串更便宜,因为这不需要外部函数调

java - 当 toString() 和 hashCode() 被覆盖时,如何在 java 中获取对象的 "object reference"?

我想在Java中打印对象的“对象引用”以进行调试。IE。根据情况确保对象相同(或不同)。问题是有问题的类继承自另一个类,它覆盖了toString()和hashCode()这通常会给我id。示例情况:运行一个多线程应用程序,我(在开发期间)想检查所有线程是否使用资源对象的同一个实例。 最佳答案 您究竟打算用它做什么(您想要做什么与您需要调用的内容不同)。hashCode,如JavaDocs中所定义,说:Asmuchasisreasonablypractical,thehashCodemethoddefinedbyclassObject

java - IOUtils.toString(InputStream) 的 Guava 等价物

ApacheCommonsIO有一个很好的方便方法IOUtils.toString()将InputStream读取到字符串。因为我正试图从ApacheCommons转移到Guava:Guava有等价物吗?我查看了com.google.common.io包中的所有类,但找不到任何简单的东西。编辑:我理解并理解字符集的问题。碰巧我知道我所有的来源都是ASCII(是的,ASCII,不是ANSI等),所以在这种情况下,编码对我来说不是问题。 最佳答案 您在对Calum的回答的评论中声明您将使用CharStreams.toString(new

java - String.valueOf() 与 Object.toString()

在Java中,String.valueOf(Object)和Object.toString()有什么区别吗?这些是否有特定的代码约定? 最佳答案 根据theJavadocumentation,String.valueOf()返回:iftheargumentisnull,thenastringequalto"null";otherwise,thevalueofobj.toString()isreturned.所以除了额外的方法调用之外应该没有真正的区别。另外,在Object#toString的情况下,如果实例为null,则会抛出Nul

java - 在 Java 中生成 UUID 字符串的有效方法(不带破折号的 UUID.randomUUID().toString())

我想要一个高效的实用程序来生成唯一的字节序列。UUID是一个很好的候选者,但UUID.randomUUID().toString()会生成像44e128a5-ac7a-4c9a-be4c-224b6bf81b20这样的东西,这很好,但我更喜欢破折号-less字符串。我正在寻找一种仅从字母数字字符(没有破折号或任何其他特殊符号)生成随机字符串的有效方法。 最佳答案 这样做:publicstaticvoidmain(String[]args){finalStringuuid=UUID.randomUUID().toString().re

java - 很好地打印 Java 集合(toString 不返回漂亮的输出)

我想打印Stack对象与Eclipse调试器一样好(即[1,2,3...]),但使用out="output:"+stack打印它不会返回这么好的结果。澄清一下,我说的是Java的内置集合,所以我不能覆盖它的toString().我怎样才能得到一个漂亮的可打印版本的堆栈? 最佳答案 你可以把它转换成一个数组,然后用Arrays.toString(Object[]):打印出来System.out.println(Arrays.toString(stack.toArray())); 关于jav

c# - DateTime.ToString 格式

我通过向DateTime.ToString方法提供文化信息来显示本地化的短日期。到现在为止我正在使用x.ToString("d",ci);//23.12.2000显示短日期。但现在我还想包括缩写的日期名称。我试过了x.ToString("dddd",ci);//pon23但是现在d变成了日期说明符而不是短日期格式,所以我只得到日期名称和日期编号而不是日期名称和短日期。如何说服格式化程序显示日期以及预定义的文化短日期格式? 最佳答案 怎么样:string.Format(ci,"{0:ddd}{0:d}",x)

c# - 支持自定义数字类型的 ToString(字符串格式)

创建了自己的数字类型(实际上是DoubleDouble),我想实现IFormattable接口(interface)。所以我必须以某种方式解析格式字符串。publicstringToString(stringformat,IFormatProviderformatProvider){//formattingstringaccordingtoformatandusingformatprovider?returnformattedString;}该类的用户应该能够将其用作double(或任何其他数字格式)的替代品。String.Format("{0:0.##}",(DoubleDouble

c# - 如何使用 DateTime.ToString 提高代码的性能?

在我的二进制文本解码应用程序(.NET2.0)中,我发现以下行:logEntryTime.ToString("dd.MM.yyHH:mm:ss:fff")占用总处理时间的33%。有没有人知道如何让它更快?编辑:此应用程序用于处理一些二进制日志,目前需要15小时才能运行。因此,其中的1/3将是5小时。编辑:我正在使用NProf用于分析。应用正在处理大约17GB的二进制日志。 最佳答案 不幸的是,.NET没有一种可以解析模式并记住它的“格式化程序”类型。如果您总是使用相同的格式,您可能需要手工制作一个格式化程序来完全做到这一点。大致如下

c# - ToString ("N2") 和 ToString ("0.00") 之间的区别

ToString("N2")和ToString("0.00")有什么区别? 最佳答案 来自StandardNumericFormatStringsThenumberisconvertedtoastringoftheform"-d,ddd,ddd.ddd…",where'-'indicatesanegativenumbersymbolifrequired,'d'indicatesadigit(0-9),','indicatesathousandseparatorbetweennumbergroups,and'.'indicatesad