java 面试题要点

博客介绍了Java基础知识点,包括==和equals的区别,==对基本类型是值比较,对引用类型比较对象是否相同,equals只比较值;还说明了hashCode与equals的关系,Math.round的运算结果,基础数据类型,StringBuffer和StringBuilder的特点,以及final不能定义抽象类的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.基础篇

1.== 和equals  ,==对基本类型是值比较,对引用类型是比较引用类型对象是否相同。 equals只比较值是否相等,例子

String str1= new  String("A"); String str2 = “A”;“A”.equals(str2) 和“A”.equals(Str1) 都是true ,但是Str1==“A” 为false ,Str2==“A” 为true;

2. hashCode 相同,equals必然为true?  这是错误的,因为hashCode相同,值不一定相同。hashCode 是由hash算法产生的,将不同长度的输入变成了相同长度的散列值。 如果一个对象相等必然equals和hashcode 都相同。equals为true,必须同时hashcode 和值相等。

3.Math.round(2.5) = 3;  Math.round(-2.5)=-2;

 4.java 基础数据类型: byte(1字节),boolean(-),int(4字节) ,short(2字节) ,double(8字节),float(4字节),long(8字节),char(2字节).     

5.StringBuffer 比StringBuilder效率低但是线程安全。StringBuffer.reverse()快速反正字符串。

6.final不能定义抽象类。因为抽象类可以用来继承的,用final就不能继承造成了冲突。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值