有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何将hashmap的值转换为字符串i Java

我有一个HashMap。我试图从用户代码中检索值并使用密钥打印它

代码是:

lib.addbook(book2.getISBN(), book2);
Book ret = lib.getbook("978-81-291-1979-7");
System.out.println(ret);

电流输出:

O/P: LibraryPackage.Book@527c6768

我希望输出是一个字符串,并显示实际值,而不是书本的地址


共 (2) 个答案

  1. # 1 楼答案

    必须在Book类中实现(并重写)toString()方法,并指定希望输出的内容。例如:

    @Override
    String toString()
    {
      return this.author+": " + this.title;
    }
    
  2. # 2 楼答案

    如果你不想重写这个命令,commons lang有一个很好的实用程序。toString()方法,或者需要在不同的情况下以不同的方式表示它:

    下面是一个基于反射构建字符串的调用:

    String str = ToStringBuilder.reflectionToString(object);
    

    事实上,这是实现。toString()方法本身。此类的另一种替代用途是逐字段创建字符串:

    String str = new ToStringBuilder(object)
        .append("field1", field1)
        .append("field2", field2)
        .toString();