2024-04-23 08:30:05
java基础知识点你知道几个?
1、== 和 equals() 的区别是什么?
==是判断两个变量或实例是不是指向同一个内存空间,equals()是判断两个变量或实例所指向的内存空间的值是不是相同。
==是指对内存地址进行比较,equals()是对字符串的内容进行比较
==是指引用是否相同,equals()是指的值是否相同。
2、final 在 java 中有什么作用
final是Java的关键字,可用于三个地方(修饰类修饰方法和修饰变量)。
特征:凡是引用final关键字的地方皆不可修改
修饰类:表示该类不能被继承。
修饰方法:表示方法不能被重写。
修饰变量:表示变量只能一次赋值以后值不能被修改(可以理解为常量)
3、&与&&区别
&是位运算,返回结果是int型。&&是逻辑运算,返回结果是boolean型。&不管前面的条件是否正确,后面都执行。&&前面条件正确时,才执行后面,不正确时,就不执行,就效率而言,这个更好。
4 、两个对象的 hashCode() 相同,则equals()是否也一定true
不一定。
反过来equals为true时,hashCode一定相同。类的hashCode方法和equals方法都可以重写,返回值完全在干自己定义。
hashCode() 返回该对象的哈希码值;equals() 返回两个对象是否相等。
5 、String,StringBuffer , StringBuilder的区别
dString: final修饰,String类的方法都是返回newString。即对String对象的任何改变都不影响原对象,对字符串的修改操作都会生成新的对象,不可被继承。
StringBuffer:对字符串的操作方法都加了synchronized,保证线程安全。StringBuilder:不保存线程安全,在方法体内需要进行字符串的修改操作,可以new StringBuilder对象,调 用StringBuilder 对 象的 appendreplace,delete等方法修改字符串。
6、switch语句能否作用于byte上,能否作用于long上,能否作用于String上
switch可作用于char byte short int。switch可作用于char byte short int对应的包装类
switch不可作用于long double float boolean包括他们的包装类 Long/Double。
switch中可以是字符串类型,String(jdk1.7之后才可
以作用在String上)。
switch中可以是枚举类型。