字符串与包装类

字符串与包装类
一、 Object 类
类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现 这个类的方法。
// Object 引用数据类型的超类

  • equals(Object obj): 判断两个对象是否相等,底层使用的是 == 比较的是对象地址。如果子类有根据其他比较策略,可以重写。

  • toString():把对象转成字符串输出, 底层实现为 getClass().getName() + ‘@’ + Integer.toHexString(hashCode())。

  •              子类如果不能其要求,可以重写
    
  • hashCode(): 哈希码,一串数字,一般而言对象地址不同hashcode不同,对象形同hashcode也相同。

  • getClass(): 获得类字节码信息(类名 ,方法,属性 ,所继承的父类,实现的接口,注解…)

  • finalize(): 在对象被回收时调用自动调用的方法。

  • clone() : 建立一个当前对象的副本,要求: 重写 clone() 实现Cloneable

  • 其他和线程相关: notify() notifyAll() wait()
    二、 包装类
    八大基本数据类型对应的引用数据类型。

三、 装箱与拆箱
装箱:把基本数据类型 转化成 包装类型
拆箱:把包装类型 转化成 基本类型
JKD1.5后提供了自动装箱和拆箱,使得基本类型和包装类 可以自由转换。
四、 字符串与包装类
在开发中,可能会遇到需要把字符串转化成其他数值类型, 这时可以使用包装类进行转换。

五、 String
String 类代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例 实现。 字符串是常量;它们的值在创建之后不能更改。

六、 String 构造器

七、String 常用方法

String str = “a我拿你当兄弟,你把我当爸爸!”;

	// 获得字符串长度,它是方法
	System.out.println(str.length());
	// 获得指定位置(下标从0开始)的字符
	System.out.println(str.charAt(5));
	// 判断一个字符串是否为空串
	System.out.println(str.isEmpty());
	// 拼接字符串
	System.out.println(str.concat("真的吗?"));
	// 判断字符串中是否包含指定的字符串
	System.out.println(str.contains("爸爸"));
	// 忽略大小写
	System.out.println(str.equalsIgnoreCase("A我拿你当兄弟,你把我当爸爸!"));
	// 截取字符串
	System.out.println(str.substring(5));
	// 截取一个区间,不包含后端点
	System.out.println(str.substring(2, 6));
	// 字典顺序
	String s2 = "A";
	System.out.println(s2.compareTo("Z"));
	// 查找子字符串(从前往后找)
	String s3 = "java123java456";
	System.out.println(s3.indexOf("java"));
	System.out.println(s3.indexOf("java", 3));
	// 反向查找
	System.out.println(s3.lastIndexOf("java"));
	System.out.println(s3.lastIndexOf("java", 6));
	// 转成字符数组
	System.out.println(s3.toCharArray().length);
	// 转为大写
	System.out.println(s3.toUpperCase());
	// 去掉前后空白
	String name = " admin ";
	System.out.println(name.trim());
	// 拆分字符串
	String std = "范明磊,儿子,30,码农";
	String std1 = "林志强,儿子,32,程序员";
	String[] info = std.split(",");
	for (String n : info) {
		System.out.println(n);
	}
	// 把数值类型转字符串
	String PI = String.valueOf(3.14);
	    System.out.println(PI);// "3.14"

七、 StringBuffer
软件开发中通常会对字符串进行频繁的修改,然而String 类型的字符串是不可变的,每次修改都会从新 创建新的字符串,增加了内存开销。StringBuffer被设计为可变字符串,可以对字符串进行多次修改。
StringBuffer类有三个构造方法:
1.StringBuffer()
2.StringBuffer(int size)
3.StringBuffer(String s)
八、StringBuilder
StringBuilder几乎和StringBuffer一致,区别在于StringBuilder是线程安全的,而StringBuffer 是线程安全的。

九、正则表达式
正则表达式(regular expression)描述了一种字符串匹配的规则和模式 (pattern)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值