java解析object,java.object

  java解析object,java.object

  00-1010 1.equals方法==运算符等于2.hashcode3.tostring4.finalize。

  

目录

 

  00-1010比较运算符,既可以判断基本类型,也可以判断引用类型。

  如果判断基本类型,则判断值是否相等。

  如果判断引用类型,则判断地址是否相等,即它们是否是同一对象。

  00-1010是object类的方法,只能判断引用类型。

  对象等于源代码:

  public boolean equals(Object obj){ return(this==obj);}可以清楚地看到,object类中的equals方法是判断对象的地址是否相同(同一个对象)

  但是,其他数据类型类将重写equals方法,例如String类的重写:(确定两个字符串的值是否相等)

  public boolean equals(Object an Object){ if(this==an Object){ return true;String aString的一个对象实例)(!COMPACT _ STRINGS this . coder==a string . coder)string Latin 1 . equals(value,a string . value);}示例:

  String str1=新字符串( hello );String str2=新字符串( hello );system . out . println(str 1==str 2);//false system . out . println(str 1 . equals(str 2));//真

  00-1010使用哈希结构提高容器的效率

  如果两个引用指向同一个对象,那么哈希值肯定是相同的(没有冲突),反之亦然。

  基于地址而非地址的哈希值。

  演示:

  //hashCodeA A=new A();A a1=new A();A a2=asystem . out . println(a . hashcode());system . out . println(a1 . hashcode());system . out . println(a2 . hashcode());-输出:

  13241199279903685531324119927

  00-1010返回该对象的字符串表示形式。

  源代码:

  公共字符串toString() { return getClass()。getName() @ integer . tohexstring(hashCode());}示例:

  //tostring a3=new a(大和,25,安全服务工程师);system . out . println(a3 . tostring());输出:

  班级。一个@41629346的包名。类名@十六进制哈希码

  现在让我们在类中重写toString方法(模板):

  @ override public String to String(){ return A { name= name ,age= age ,job= job }}再次运行上面的代码,现在输出如下:

  A{name=dahe ,age=25,job= security service engineer}另外,当我们直接输出一个对象时,默认会直接调用toString方法:

  system . out . println(a3);输出:

  A{name=dahe ,年龄=25岁,职务=安全服务工程师 }

  00-1010当一个对象被回收时,系统自动调用该对象的finalize方法,子类可以重写该方法做一些操作来释放资源。

  注:在JDK18中。已放弃最终确定。虽然可以帮助我们主动释放系统的底层资源,但是说实话,Java是在内存没有被使用之前自动管理内存的。使用它反而会导致潜在的系统安全风险。不帮忙就是负担,所以打算去掉。

  示例:

  //finalizeA a4=new A(dh ,33, architect );a4=空;//这是a4变成了垃圾,垃圾收集器会收集对象。//在销毁对象之前,它会调用对象的finalize方法。//程序员可以用这个方法写自己的业务,释放资源重写finalize方法:

  @ override protected void finalize()抛出throwable { system . out . println( we destroy objects );}除此之外,你还可以主动运行垃圾收集器:

  system . GC();//主动调用这里的垃圾收集器。这篇关于深入理解Java对象类的使用的文章已经介绍到这里了。更多相关Java对象类内容,请搜索之前关于热门IT的文章或者继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: