java基础知识三

本文介绍了Java中的基础类,包括Object类的equals方法和对象的字符串表示,详细讲解了String类的特性如不可变性以及常见的字符串操作方法。此外,还提到了StringBuilder类用于可变字符串操作,并简述了基本数据类型的包装类和System类的arrayCopy方法。
摘要由CSDN通过智能技术生成

七、Java基础类

1、Object类

Object是所有Java类的最终祖先,若没有使用extends关键字显示声明继承某个类,则默认继承Object类

1.1、equals方法与==

a==b:

比较两个基本类型的数据a和b是否相等

比较两个对象a和b是否是同一个对象的引用(指向的堆中地址是否相同)

a.equals(b):

比较两个对象a和b是否是同一个对象的引用(指向的堆中地址是否相同)

如果要比较两个对象的值是否相等,而不是引用,需要重写equals方法

1.2、对象的字符串表示

一个对象通过调用toString方法可以获得该对象的字符串表示

若一个类没有重写toString方法,该类的对象调用toString方法,得到的字符串格式为:类名@对象的引用(内存地址)

直接输出类名等价于输出:类名.toString()

2、String类

2.1、基本概念

字符串是字符的有限序列

Java中使用String类创建一个字符串变量,因此字符串变量是类类型变量,是一个对象

只读、不可修改,使用+连接,会产生一个新的字符串对象

字符串常量储存在字符串常量池中

2.2、创建字符串对象
public class Main{
	public static void main(String[] args){
    	// 方法一:声明+创建
        String s1;
        s1 = new String("a");
        // 方法二:声明创建一块
        String s2 = new String("b");
        // 方法三:用已创建的创建另一个
        String s3 = new String(s2);
        // 方法四:直接赋值
        String s4 = "d";
	}
}

直接赋值法:

该对象直接指向堆内存中的常量池中的该常量的地址

使用new()方法的:

该对象指向堆内存的一个空间,该空间再指向常量池中该常量的地址

2.3、说明

不是字符串数组,不能使用[ ]操作

2.4、常用的构造方法
说明
String(char[] a)使用一个字符数组创建一个字符串对象
String(cahr[] a,int startindex,int count)使用字符数组中,从startindex开始的count个字符创建一个字符串对象
2.5、常用的方法
使用说明
对象名.length()返回字符串长度
对象名.charAt(x)返回索引为x的字符
对象名.indexOf(“s”)从前往后查找字符串“s”,若找到返回索引,为找到返回-1
对象名.indexOf(“s”,x)从索引为x的位置开始,从前往后查找字符串“s”,若找到返回索引,为找到返回-1
对象名.lastIndexOf(“a”)从后往前查找字符串“s”,若找到返回索引,为找到返回-1
对象名.Substring(st [,end])获取从st开始到(end-1)的字符串,省略end默认到最后
对象名.split(“s” [,x] )按指定字符串拆分x次(x省略全部拆分),若全部拆分后数量多余x,将第x个拆分后的合并成一个
对象名.toCharArray()将字符串对象转换为字符数组
对象名.getBytes()将字符串对象转换为字节数组
对象名.toUpperCase()转换为大写字母
对象名.toLowerCase()转换为小写字母
对象名.raplace()替换
对象名.trim()删除两边的空格
对象名.startsWith(" ")判断是否以指定字符串开头
对象名.endsWith(" ")判断是否以指定字符串结尾
对象名.contains(" ")判断是否包含指定字符串
对象名.concat()字符串连接
对象名.compareTo(对象名2)对象2的ascil编码 - 对象1的ascil编码

3、StringBuilder类

创建一个可修改的字符串序列

4、基本数据类型的包装类

都是最终类

//自动装箱
Integer i = 3 ; // 等价于: Integer i = new Integer(3);

//自动拆箱
int j = i; //等价于: int j = i.intValue();

5、System类

数组复制:System.arraycopy(a,x,b,y,z)

将a中从x开始的z个元素复制给b从y开始的z个位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑夜蔓蔓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值