包装类、字符串

1. 装箱: 把基本数据类型转换成包装类

int t1 = 1;
// 自动装箱
Integer t2 = t1;
// 手动装箱
Integer t3 = new Integer(t1);

2. 拆箱:把包装类转换成基本数据类型

int t1 = 1;
// 自动装箱
Integer t2 = t1;
// 自动拆箱
int t3 = t2;
// 手动拆箱
int t4 = t2.intValue();

3. 基本数据类型和字符串之间转换

// 基本数据类型转换为字符串
int t1 = 1;
String t2 = Integer.toString(t1);
// 字符串转换为基本数据类型
// 包装类的parse
int t3 = Integer.parseInt(t2);
// 包装类的valueOf,先将字符串转换为包装类,再通过自动拆箱完成基本类型转换
int t4 = Integer.valueOf(t2);

4. 自动装箱需要注意的点

  • 缓冲区对象池 -128 < 参数 < 127
    • Integer具备对象池,如果在对象池中有这个参数,则直接产生;如果没有,则实例化Integer
    • Double和Float不具备对象池

5. String常用方法

  • int length() 返回当前字符串的长度
  • int indexOf(int ch) 查找ch字符在该字符串中第一次出现的位置
  • int indexOf(String str) 查找str子字符串在该字符串中第一次出现的位置
  • int lastIndexOf(int ch) 查找ch字符在该字符串中最后一次出现的位置
  • int lastIndexOf(String str) 查找str子字符串在该字符串中最后一次出现的位置
  • String substring(int beginIndex) 获取从beginIndex位置开始到结束的子字符串
  • String substring(int beginIndex, int endIndex) 获取从beginIndex位置开始到endIndex位置的子字符串
  • String trim() 返回去除了前后空格的字符串
  • boolean equals(Object obj) 将字符串与指定对象比较,返回true或false
  • String toLowerCase() 将字符串转换为小写
  • String toUpperCase() 将字符串转换为大写
  • char charAt(int index) 获取字符串中指定位置的字符
  • String[] split(String regex, int limit) 将字符串分割为子字符串,返回字符串数组
  • byte[] getBytes() 将该字符串转换为byte数组

6. 等于运算符与equals区别

  • 内存模型
    • 栈 - String str1
    • 常量池 - "hello world"
    • 堆 - new String("hello world")

7. 字符串的不可变性

  • String对象一旦被创建,则不能修改,是不可变的
  • 所谓的修改其实是创建了新的对象,所指向的内存空间不变

8. 字符串StringBuilder

  • String和StringBuilder的区别
    • String具有不可变性,而StringBuilder不具备
    • 当频繁操作字符串时,使用StringBuilder
    • StringBuffer是线程安全的,StringBuilder不是,所以性能略高

9. StringBuilder常用方法

  • StringBuilder append(String str)
  • StringBuilder delete(int start, int end)
  • StringBuilder insert(int offset, String str)
  • StringBuilder replace(int start, int end, String str)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值