问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中所有类都是Object的子类吗? 谁能给我讲讲==和equals的区别? 还有equals为什么在String类型中比较

发布网友 发布时间:2022-04-29 01:11

我来回答

5个回答

热心网友 时间:2023-09-30 09:56

没错,所有类都是Object子类。自己写的也是,只是隐藏罢了。equals只要值相等即可,==可理解为不但值相等,地址也要相等(针对对象)。因为String不是基本类型,他相当于指针。重写equals,表示内容相同即可,hashcode是针对字符串本身,而不是地址。
例如:
String p="123",q="123"; 此处equals和==结果相同
String p=new String("123"),q=new String("123"); 结果不同,p、q指向不同对象追问String p=new String("123"),q=new String("123");
这个equals和==的结果一样吗? 结果是什么?p,equalsq 和p==q结果是什么 不要调试 直接告诉我结果

追答equals结果一样,比较的是内容。==不一样,比较的是地址。

热心网友 时间:2023-09-30 09:57

一:java 中所有的类都是Object 的子类。
二:(1)八大基本类型只能用"=="比较不能用equals比较。(2)对于基本类型的包装类型,比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用变量,==是比较地址的,而equals是比较内容的。(3)对于字符串变量来说,使用“= =”和“equals()”方法比较字符串时,其比较方法不同。
“= =”比较两个变量本身的值,即两个对象在内存中的首地址。
“equals()”比较字符串中所包含的内容是否相同。
三:重写equals 方法是为了方便比较,自己怎么定义就怎么比较。按java 代码规范来说,bean 类里面,一般要重写三个方法 1、hashcode(),2、equals(),3、toString().追问你回答的比较详细,因为我是初学者,感觉到 有的方法需要返回什么样的值比较麻烦,因为我没有经验,不知道返回的是String还是基本类型,我觉得参数的返回值就这两种。还有其他吗?int转换String类型怎么转换 String转换int 同理吗? 麻烦代码说下 谢谢

追答参数返回不只这两种,还有很多,我在这里简单的说下有:返回一个对象,数组,Map ,List 等。
int 型转换成String :String.valueOf(int i)
String 型转换成 int :Integer.parseInt(String s)

热心网友 时间:2023-09-30 09:57

== 是判断两个对象是否为同一个对象,即在内存中是否在同一地址。
而 equals方法是用于比较两个对象的内容是否相同,具体比较哪些内容由类自己实现,如果不实现equals方法的话,同样可以调用此方法,只是这时equals等价于 ==。
而String类实现了equals方法,它比较两个字符串的内容是否一样,如:
String a = "abc";
String b = a;
String c = "abc";
上面的例子中:
(1) a == b
(2) a != c b != c
(3) a equals b, a equals c, b equals c
现在明白了吧!
hashCode和equals是不同的方法,作用也不一样。
不equals或不==的对象的hashCode肯定不一样 ,而具有相同hashCode的对象不一定equals或==,因为哈希值有冲突,所以我们只能用hashCode来判断两个对象不同,而不能用来判断两个对象相同

热心网友 时间:2023-09-30 09:58

所有类都从Object类继承。如果你定义的类没有覆盖toString方法,则对象在调用toString方法时用的是Object类toString方法,返回的是“类名@hashcode".

同理,如果equals没有被覆盖,作用则是判断两个对象是否相同。

String类会覆盖上面两个方法,toString返回自身。equals则用于判断两个字符串的字符是否全部一样。所以我们在判断两个字符串是否一样时用的是equals。而用 == 号则会判断两个对象是否一样,得到错误的结果。

例子如下:

package yangguo.snakegame;
import java.awt.FlowLayout;
public class Test
{
public static void main( String[] args ) throws Exception
{

Test test = new Test();
Test test2 = new Test();
String word = new String("it is a pratics");
String word2 = new String("it is a pratics");

System.out.println(test.toString());
System.out.println(test.equals(test2));

System.out.println(word.toString());

System.out.println(word.equals(word2));
}
}

//output
yangguo.snakegame.Test@ca0b6
false
it is a pratics
true
另外,团IDC网上有许多产品团购,便宜有口碑

热心网友 时间:2023-09-30 09:59

所有类都从Object类继承。如果你定义的类没有覆盖toString方法,则对象在调用toString方法时用的是Object类toString方法,返回的是“类名@hashcode".

同理,如果equals没有被覆盖,作用则是判断两个对象是否相同。

String类会覆盖上面两个方法,toString返回自身。equals则用于判断两个字符串的字符是否全部一样。所以我们在判断两个字符串是否一样时用的是equals。而用 == 号则会判断两个对象是否一样,得到错误的结果。

例子如下:

package yangguo.snakegame;
import java.awt.FlowLayout;
public class Test
{
public static void main( String[] args ) throws Exception
{

Test test = new Test();
Test test2 = new Test();
String word = new String("it is a pratics");
String word2 = new String("it is a pratics");

System.out.println(test.toString());
System.out.println(test.equals(test2));

System.out.println(word.toString());

System.out.println(word.equals(word2));
}
}

//output
yangguo.snakegame.Test@ca0b6
false
it is a pratics
true
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
vivo闪电手柄没法一键连招 vivo闪电游戏手柄如何设置最佳_vivo闪电游戏手柄设置教程 switch跳舞的游戏叫什么 量子特攻怎么使用灌木 量子特攻量子魔方有什么用 量子技能介绍 量子特攻怎么换技能介绍_量子特攻怎么换技能是什么 量子特攻战斗中更换时装和机仆技能方法介绍 量子特攻如何设置快捷机仆技能_量子特攻设置快捷机仆技能方法介绍_百度... 换新显卡,显示器不亮!DVI-D无信号 怎么回事大佬棒棒忙? 求大佬带飞,电脑相关问题 Java中一个父类可以有多个不同的子类吗 Java 子类继承父类,子类重写父类方法,这种情况下父类可以获取到子类的数据吗? Java面试题:获得一个类的类对象有哪些方式 为什么java中Exception的对象能够获取子类的信息. java如何获得继承父类的子类并把它保存在数组中 java能不能通过接口或父类获取所有的实现类和子类。就是在不知道子类和实现类的名字的情况下通过接口 java中父类如何得到子类的对象 小宝宝七个月了,发烧反复怎么办? 为什么我买不了300104股票 【java】如何 获取 抽象类的 所有实现类? 七个月宝宝发烧怎么办? java 如果查看一个接口 的所有子类? 我买的股票退市了,为什么我软件持仓里没有这个股票了?在线等答案 七个月的宝宝感冒发烧应该怎么办呢? 乐视网再涨停幕后推手浮出了吗? 父类获取子类类型 java java 类的继承,子类变量的获取 java 父类如何在运行期动态获取子类类名 七个月大的宝宝发烧怎么办 lg无线蓝牙颈挂式耳机说明书 我想做鸡蛋饼夹土豆丝买求做法 鸡蛋灌饼把土豆丝可以换成什么菜 鸡蛋灌饼里加的土豆丝的放其它的调味吗? 土豆丝加鸡蛋饼怎么做 黄芪泡水喝是不是不合适? 91连接服务在哪里下载有? 91到底如何连接? 安卓手机怎么连接91助手 91手机助手怎么连接手机? [求助]91连接手机电脑 新手请教:91一直是“”正在初始化连接“怎么办 91手机助手如何连接手机? 91助手无法连接手机 苹果手机连接不上91手机助手 公务员退休工龄怎么计算l? iphone如何用91助手连接 公务员工龄认定问题 公务员社保工龄如何计算方法 m9用 91助手提示 连接不上,怎么办? 公务员事业单位如何计算工龄,以什么为依据?是社保吗?还是人事派遣人事代理开始算的