Java基础面试

本文主要探讨了Java中String与StringBuilder/StringBuffer的区别,包括它们的不变性和线程安全性。此外,详细阐述了方法的重载、递归和重写概念。讲解了字节流缓冲区的作用,以及InputStreamReader和OutputStreamWriter在字节流与字符流转换中的角色。还讨论了数据结构和算法中的排序算法效率,如快速排序和冒泡排序,并提到了不同查找方法的时间复杂度,如线性表查找和树表查找。
摘要由CSDN通过智能技术生成

1. String 和 StringBuilder、StringBuffer 的区别?

Java中定义了string和stringbuffer两个类封装字符串,提供了一系列操作字符串的方法。

string是final类型所以使用string定义字符串是一个常量,一旦创建了string它的内容和长度是不可变的,如果想要修改字符串,需要创建新的字符串。stringbuffer类(字符串缓冲区)它的内容和长度都是变化的,stringbuffer相当于字符容器,在添加或删除操作不会产生的新的buffer对象。

string类可以重写object类的equals方法,而stringbuffer类没有重写object类的方法。

string类对象用操作符 + 连接,stringbuffer类没有重写equals方法。

stringbuild也可以操作字符串,stringbuffer是线程安全的,stringbuild是没有实现线程安全功能。通常创建一个内容可变的字符串对象优先考虑stringbuild类。stringbuild 也是提供了插入(insert),删(delete),添加(append),替换(replace)。

2. 方法的重载,方法的递归?方法的重写?

Java中允许在一个程序中定义多个名称相同,但是参数的类型或个数不同的方法就是方法的重载。

方法的重载与返回值无关需要满足两个条件:1. 方法名相同 2.参数个数或参数类型不同。

构造方法的重载在一个类中可以定义一个多个构造方法,只需要每个方法的参数类型或参数个数不同。创建对象时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值