标签: tostring

在Java中映射到String

当我System.out.println(map)使用Java时,我在stdout中得到了一个很好的输出.如何Map在不干预标准输出的情况下获取变量中相同的字符串表示形式?有点像String mapAsString = Collections.toString(map)

java map tostring

75
推荐指数
2
解决办法
15万
查看次数

Swift相当于Java toString()

什么是Swift等效的Java toString()来打印类实例的状态?

string tostring ios swift customstringconvertible

72
推荐指数
4
解决办法
3万
查看次数

C#中的.ToString和"as string"之间的区别

使用以下两个语句有什么区别?在我看来,第一个"as string"是类型转换,而第二个ToString是对将输入转换为字符串的方法的实际调用?只是寻找一些洞察力,如果有的话.

Page.Theme = Session["SessionTheme"] as string;
Page.Theme = Session["SessionTheme"].ToString();
Run Code Online (Sandbox Code Playgroud)

c# string tostring

66
推荐指数
4
解决办法
3万
查看次数

转储java对象的属性

是否有一个库将以递归方式转储/打印对象属性?我正在寻找类似于Firebug中的console.dir()函数的东西.

我知道commons-lang ReflectionToStringBuilder但它没有递归到一个对象.即,如果我运行以下内容:

public class ToString {

    public static void main(String [] args) {
        System.out.println(ReflectionToStringBuilder.toString(new Outer(), ToStringStyle.MULTI_LINE_STYLE));
    }

    private static class Outer {
        private int intValue = 5;
        private Inner innerValue = new Inner();
    }

    private static class Inner {
        private String stringValue = "foo";
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到:

ToString $ Outer @ 1b67f74 [intValue = 5
innerValue = ToString $ Inner @ 530daa]

我意识到在我的例子中,我可以覆盖Inner的toString()方法,但在现实世界中,我正在处理我无法修改的外部对象.

java reflection dump properties tostring

63
推荐指数
5
解决办法
7万
查看次数

如何在double.ToString()中更改小数点的符号?

我想将小数点更改为C#中的另一个字符.我有一个double变量value

double value;
Run Code Online (Sandbox Code Playgroud)

当我使用命令时:

Console.WriteLine(value.ToString()); // output is 1,25
Run Code Online (Sandbox Code Playgroud)

我知道我可以这样做:

Console.WriteLine(value.ToString(
    CultureInfo.CreateSpecificCulture("en-GB"))); // output is 1.25
Run Code Online (Sandbox Code Playgroud)

但我不太喜欢它,因为它很长,而且在我的程序中经常需要它.

是否有一个较短的版本设置"小数点"真的作为点而不是逗号,因为在我的文化中是常见的?

.net c# double tostring

53
推荐指数
5
解决办法
11万
查看次数

使用Google Guava的Objects.ToStringHelper

ToStringBuilder.reflectionToString(class)在commons-lang中用来实现toString()简单的DTO.现在我正在尝试使用Google Guava而不是Apache commons库.我Objects.ToStringHelper在瓜瓦找到了.但如果班上有很多成员,那就太啰嗦了.例如:

@Override
public String toString() {
    return MoreObjects.toStringHelper(this.getClass()).add("name", name)
            .add("emailAddress", emailAddress)
            .add("department", department).add("yearJoined", yearJoined)
            .toString();
}
Run Code Online (Sandbox Code Playgroud)

如果我使用commons-lang则更简单:

@Override
public String toString() {
    return ToStringBuilder.reflectionToString(this);
}
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法来实施toString()番石榴,而不是公共场所?

番石榴文件

java tostring guava

53
推荐指数
4
解决办法
5万
查看次数

接口中的toString(),equals()和hashCode()

所以,我有一个需要实现的一堆方法的接口,方法名称是无关紧要的.

实现此接口的对象通常被放入集合中,并且还具有我希望它们使用的特殊toString()格式.

所以,我认为将hashCode(),equals()和toString()放入接口会很方便,以确保我记得覆盖这些的默认方法.但是当我将这些方法添加到接口时,如果我没有实现这三个方法,IDE/Compiler就不会抱怨,即使我明确地将它们放在接口中.

为什么不对我强制执行?它抱怨如果我没有实现任何其他方法,但它没有强制执行这三个方法.是什么赋予了?有线索吗?

java interface equals tostring hashcode

52
推荐指数
6
解决办法
4万
查看次数

.NET:如何将异常转换为字符串?

抛出异常时(在IDE中进行调试时),我有机会查看异常的详细信息:

在此输入图像描述

但在代码中,如果我打电话,exception.ToString()我不会看到这些有用的细节:

System.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure 'FetchActiveUsers'.
  [...snip stack trace...]
Run Code Online (Sandbox Code Playgroud)

但Visual Studio有一些魔力可以将异常复制到剪贴板:

在此输入图像描述

这给出了有用的细节:

System.Data.SqlClient.SqlException was unhandled by user code
  Message=Could not find stored procedure 'FetchActiveUsers'.
  Source=.Net SqlClient Data Provider
  ErrorCode=-2146232060
  Class=16
  LineNumber=1
  Number=2812
  Procedure=""
  Server=vader
  State=62
  StackTrace:
       [...snip stack trace...]
  InnerException:
Run Code Online (Sandbox Code Playgroud)

好吧,我想要那个!

会是什么内容:

String ExceptionToString(Exception ex)
{ 
    //todo: Write useful routine
    return ex.ToString();
}
Run Code Online (Sandbox Code Playgroud)

这可以实现同样的魔力.是否在某处内置了.NET功能?是否Exception有一个秘密的地方的方法将其转换为字符串?

.net c# exception tostring

51
推荐指数
5
解决办法
3万
查看次数

Java toString()使用反射?

前几天我通过手动将类的每个元素写成String来为Java中的类编写toString(),并且我发现使用反射可能会创建一个可以工作的通用toString()方法所有课程.IE它将找出字段名称和值并将它们发送到String.

获取字段名称非常简单,这是同事提出的:

public static List initFieldArray(String className) throws ClassNotFoundException {

    Class c = Class.forName(className);
    Field field[] = c.getFields();
    List<String> classFields = new ArrayList(field.length);

    for (int i = 0; i < field.length; i++) {
        String cf = field[i].toString();
        classFields.add(cf.substring(cf.lastIndexOf(".") + 1));
    }

    return classFields;
}
Run Code Online (Sandbox Code Playgroud)

使用工厂我可以通过存储一次字段来减少性能开销,第一次调用toString().然而,找到这些价值可能要贵得多.

由于反射的性能,这可能是更实际的假设.但我对反思的想法以及如何使用它来改进我的日常编程感兴趣.

java reflection performance tostring

50
推荐指数
5
解决办法
3万
查看次数

在数值中设置点而不是逗号

我有新的XmlDocument对象,在我的程序中创建了ig xml ...

我希望创建的xml中的所有数值都默认使用点符号而不是逗号.

我可以做一次声明它,而不是解析每个十进制值吗?

即在开头的某个地方设置这个点而不是逗号,直到最后都不担心这个?

c# xml culture numeric tostring

50
推荐指数
3
解决办法
8万
查看次数