12.装/拆箱和String类常用方法

一.包装类:

  • byte–>Byte
  • short—>Short
  • int—>Integer
  • long—>Long
  • float—>Float
  • double—>Double
  • char—>Character
  • boolean—>Boolean

问题:为什么每一个基本类型都对应着一个引用类型呢?

1.在Java中有些场景只能使用引用类型,例如集合框架
2.引用类型对基本数据类型进行了扩展,在类中封装了操作方法


二.拆箱/装箱

1.装箱:从基本类型转换为引用类型的过程

2.拆箱/取消装箱:把引用类型转换为基本类型的过程

例如:
1.字符串------------------>数值

1、 int num=Integer.valueOf(str);  转换的是Integer ,进行拆向后
2、int num4=Integer.parseInt(str);  //建议使用此种方式,直接转换为int
3、Integer integer=new Integer(str);
		int num5=integer;

2.数值------------------>字符串

1、String str3=String.valueOf(num6);
2、//在Integer类中重写了Object类中的toString:把数值转换为字符串
    Integer integerNum7=234;
    String str4=integerNum7.toString();

三.特殊的引用类型String

String:
①使用双引号引起的若干个字符
②常量字符串/不可变字符串

1.案例:

String str1="abc";
 String str2="abc";//二者的地址相同

java 中当给字符串赋值时,如果字符串值在常量区域中已经存在,那么不会分配新的常量区域,而是把现有值的常量地址进行赋值

原理:字符串会产生一个hashCode,通过hashCode,判断字符串值是否在常量区域中存储过

2.使用方式

字符串使用方式一:String str1="abc";
字符串使用方式二:String str2=new String("bcd");

3.重点※※※常用方法

length() int 字符串的长度
charAt() char 返回对应索引位置的字符
indexOf() 字符串首次出现位置
lastIndexOf() 最后一次出现的索引位置
substring() 字符串截取函数
toUpperCase() 转成大写字母
toLowerCase() 转成小写字母
replace() 替换
equals() 判断两个字符串的值是否相等,区分大小写
equalsIgnoreCase() 不区分大小写

split("") 将字符串中的某些值删除,拆分成几段数组
例如:

public class Test13 {
	public static void main(String[] args) {
		String str = "长亭外 古道边 芳草碧蓝天";
		for (String string : str.split(" ")) {
			System.out.println(string);
		}
	}
}
//结果:
长亭外
古道边
芳草碧蓝天


四.String,StringBuilder,StringBuffer

  • String: 字符串是不可变字符串,如果频繁的改变字符串的值,此时如果使用String会浪费内存空间
  • StringBuilder:在原内存空间中改变值,可变字符串.
    非线程安全,使用效率最高
  • StringBuffer:同StringBuilder相同.
    线程安全,效率低
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值