相关疑难解决方法(0)

如何在不获取"SomeType @ 2f92e0f4"的情况下打印我的Java对象?

我有一个类定义如下:

public class Person {
  private String name;

  // constructor and getter/setter omitted
}
Run Code Online (Sandbox Code Playgroud)

我试图打印我的班级实例:

System.out.println(myPerson);
Run Code Online (Sandbox Code Playgroud)

但我得到了以下输出:com.foo.Person@2f92e0f4.

当我尝试打印一个Person对象数组时发生了类似的事情:

Person[] people = //...
System.out.println(people); 
Run Code Online (Sandbox Code Playgroud)

我得到了输出: [Lcom.foo.Person;@28a418fc

这个输出是什么意思?如何更改此输出以使其包含我的人名?我如何打印我的对象集合?

注意:这是关于此主题的规范问答.

java string object tostring

283
推荐指数
8
解决办法
29万
查看次数

java中hashcode方法的目的是什么?

当我们有equals(),compareTo()方法为什么hashcode()在Java中有一个方法?

如果我们使用 HashTable我们必须覆盖hashcode()方法,除快速访问随机密钥有什么特殊原因吗?如果我们覆盖该hashcode()方法,可能的实现是什么?

Java如何确保内存中的对象唯一性?


Hashcodes are typically used to enhance the performance of large collections of data.

hashing我们计算hash code.这是一项额外的任务.当我们为添加到集合的每个对象执行其他操作时.性能如何提高?

java hashcode

14
推荐指数
1
解决办法
3万
查看次数

在Optional中使用hashCode的目的是什么

有人可以解释为什么java人会覆盖hascodein 的目的Optional

java api-design hashcode optional java-8

-1
推荐指数
1
解决办法
180
查看次数

如果两个对象的哈希码相同,为什么不意味着 o1.equals(o2)?

执行equals()hashCode()应遵循这些规则。

  1. 如果o1.equals(o2)o1.hashCode() == o2.hashCode()则应始终为真。
  2. 如果o1.hashCode() == o2.hashCode()是真的,这并不意味着那o1.equals(o2)将是真的。

如果o1.hashCode() == o2.hashCode()是真的。我知道,如果两个对象相等,那么这两个对象应该返回相同的哈希码。如果两个对象的哈希码相同,为什么不是这样o1.equals(o2)

java equals hashcode

-1
推荐指数
1
解决办法
398
查看次数

标签 统计

java ×4

hashcode ×3

api-design ×1

equals ×1

java-8 ×1

object ×1

optional ×1

string ×1

tostring ×1