如何将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
我希望输出是一个字符串,并显示实际值,而不是书本的地址
你可以在下面搜索框中键入要查询的问题!
我有一个HashMap
。我试图从用户代码中检索值并使用密钥打印它
代码是:
lib.addbook(book2.getISBN(), book2);
Book ret = lib.getbook("978-81-291-1979-7");
System.out.println(ret);
电流输出:
O/P: LibraryPackage.Book@527c6768
我希望输出是一个字符串,并显示实际值,而不是书本的地址
# 1 楼答案
必须在
Book
类中实现(并重写)toString()
方法,并指定希望输出的内容。例如:# 2 楼答案
如果你不想重写这个命令,commons lang有一个很好的实用程序。toString()方法,或者需要在不同的情况下以不同的方式表示它:
下面是一个基于反射构建字符串的调用:
事实上,这是实现。toString()方法本身。此类的另一种替代用途是逐字段创建字符串: