大学速记java要点

你知道多少java的基础知识点?

1,= =和equals()有什么区别?

= =是判断两个变量或实例是否指向同一个内存空间,equals()是判断两个变量或实例指向的内存空间的值是否相同。

= =表示比较内存地址,equals()表示比较字符串的内容。

= =指引用是否相同,equals()指值是否相同。

2.java中final的作用是什么?

Final是Java的一个关键字,可以用在三个地方(修饰符类修饰符方法和修饰符变量)。

特性:所有对final关键字的引用都不能修改。

装饰类:指示该类不能被继承。

装饰方法:指示该方法不能被重写。

修饰符变量:表示一个变量只能赋值一次,值不能修改(可以理解为常量)。

3、& amp与& amp;amp;区分

& amp是位操作,返回结果是int类型。& amp& amp是逻辑运算,返回结果是布尔型的。& amp不管前面的条件对不对,后面的都要落实。& amp& amp前面条件对了,后面条件就执行,不正确,就不执行。从效率上来说,这样更好。

4.如果两个对象的hashCode()相同,那么equals()是否为真?

不一定。

相反,当equals为true时,hashCode必须相同。类的hashCode方法和equals方法都可以被覆盖,返回值完全是自定义的。

HashCode()返回对象的哈希代码值;Equals()返回两个对象是否相等。

5.string、stringbuffer和stringbuilder的区别

DString: final decoration,String类的方法是返回newString。也就是说,对string对象的任何更改都不会影响原来的对象,对String的修改会生成一个新的对象,该对象不能被继承。

StringBuffer:字符串的操作方法是同步的,以保证线程安全。StringBuilder:没有保存线程安全,需要在方法体中修改字符串。可以通过使用新的StringBuilder对象、appendreplace、delete和StringBuilder对象的其他方法来修改字符串。

6.switch语句可以作用于byte,long和String吗?

开关可用于char byte short int。开关可以用作对应于char byte short int的包装类。

开关不适用于long double float布尔值,包括其包装类Long/Double。

开关可以是字符串类型,和字符串(jdk1.7)

作用于一根弦)。

开关可以是枚举类型。