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

如何将hashmap的值转换为字符串i Java,java,hashmap,tostring,Java,Hashmap,Tostring,我有一个HashMap。我试图从用户代码中检索值并使用密钥打印它 代码是: lib.addbook(book2.getISBN(), book2); Book ret = lib.getbook("978-81-291-1979-7"); System.out.println(ret); 电流输出: O/p:图书馆包装。Book@527c6768 我希望输出是一个字符串,并显示实际值而不是书本的地址。您必须在book类中实现(并重写)toString()方法,并指定希望输出的内容。例如: @O

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

代码是:

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

O/p:图书馆包装。Book@527c6768

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

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

@Override
String toString()
{
  return this.author+": " + this.title;
}
您必须在
书籍
类中实现(并重写)toString()方法,并指定希望输出的内容。例如:

@Override
String toString()
{
  return this.author+": " + this.title;
}

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

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

String str = ToStringBuilder.reflectionToString(object);
事实上,这是实现.toString()方法本身的一种很好的方法。此类的另一种替代用途是逐字段创建字符串:

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

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

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

String str = ToStringBuilder.reflectionToString(object);
事实上,这是实现.toString()方法本身的一种很好的方法。此类的另一种替代用途是逐字段创建字符串:

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

这是java java,我想你是说“代码> toStrug())/>代码。如果他的答案帮助解决了你的问题,请考虑点击他的小答案。“DoRoobe OOOPS,人们说C和Java之间没有区别。”帕达旺人,你指的是无知的人这是java java,我想你是说“代码> toStrug())/>代码。如果他的答案帮助解决了你的问题,请考虑点击他的小答案。“DoRoobe OOOPS,人们说C和Java之间没有区别。”帕达旺人,你指的是无知的人