26年2月百度 Java开发工程师 一面
1. Java自动装箱与拆箱是什么?
回答
:装箱就是自动将基本数据类型转换为包装器类型(如int→Integer),调用Integer的valueOf(int)方法;拆箱就是自动将包装器类型转换为基本数据类型(如Integer→int),调用Integer的intValue方法。Java SE5之后支持自动装箱拆箱。注意:Integer在-128到127范围内会从缓存中取对象,超出范围会创建新对象。
2. 重载和重写的区别是什么?
回答
:重写(Override)发生在父类与子类之间,方法名、参数列表、返回类型必须相同,访问修饰符不能小于父类。重载(Overload)发生在一个类中,同名的方法需要有不同的参数列表(参数类型、个数或顺序不同),重载对返回类型没有要求。
3. equals和==的区别是什么?
回答
:==比较的是变量内存中存放的对象的内存地址,判断两个对象是否是同一个对象;equals用来比较两个对象的内容是否相等,如果没有重写equals方法,默认比较的是对象地址。阿里代码规范推荐使用equals,且常量写在前面避免空指针。
4. String、StringBuffer和StringBuilder的区别是什么?(
回答
:String是只读字符串,每次操作都会生成新的String对象;StringBuffer和StringBuilder底层是可变的字符数组,频繁字符串操作时性能更好。StringBuffer
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
【八股真解】精炼最新高频面经 文章被收录于专栏
本专栏在精不在多,内容分为八股文、大厂真实面经,面试通过后将offer和面试题私发给我,可退还专栏的收益部分费用。欢迎大家共建专栏

