大学速记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)
作用于一根弦)。
开关可以是枚举类型。