String、Object、包装类的常用方法以及注意点

本文深入介绍了 Java 中 String 类的基本概念及其使用方法,包括构造方法、常用操作如 length 和 charAt 等,并探讨了字符串不可变性和引用变化的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



String类

基本概念:

java.lang.String类用于描述字符串数据。java程序中所有字符串字面值都可以使用该类的对象加以描述和处理。如:“ab”等,双引号描述。

该类描述的字符创数据是常量,不可更改,因此可以共享使用  public final。

该类由  final  关键字修饰表示不能继承。

如:

String s1 = “hello”;   — 其中“hello”是个常量,不可更改

s1 = “world”;           — 使得引用变量 s1 由指向 “hello” 更改为指向 “world” ,改变指向。

注意:

String s1 = null; 和String s1 = “”;

其中前者的s1表示没有明确的指向,也就是没有String字符串对象。容易引发空指针异常。

其中后者的s1有明确的指向,只是该字符串对象中没有内容而已。

常用方法

常用的构造方法:

String()  — 使用无参的形式创建空对象,该对象中没有字符串内容。

String(byte[] bytes)  — 根据参数指定的数组内容来构造字符串对象。

String(byte[]  , int offset , int length)— 根据参数指定的数组中从offset位置开始供length字节的数据来构造对象。

String(char[] value)    — 根据参数指定的字符数组构造对象

String(char[] , int offset , int count)   — 使用数组中的一部分构造对象。

String(String original)    — 根据字符串内容来构造对象。

String(StringBuffer buffer)   — 可以将StringBuffer类型转换成String类型。

String(StringBuilder builder)  — 可以将StringBuilder类型转换成String类型。

 

重写了toString()、equals()、hashCode()方法。

char charAt(int index)   — 用于获取当前字符串中下标为index位置的单个字符并返回。

int length()   — 用于返回当前字符串的长度,也就是个数。

 

Object类(最基本的类)

方法介绍:

hashcode():根据地址显示一个哈希编码。地址相同则哈希码相同,否则不同

getClass(): 返回当前运行类的对象

toString():以String格式输出

Scanner类:接受键盘录入的数据,可以接受很多基本数据类型还是字符串类型

构造方法:public Scanner(InnputStream source)   构造一个新的Scanner,它生成的值是由指定的输入流扫描的

 

Scanner  sc= new Scanner(System.in);

成员方法:  hasNext❌❌❌()  判断要接受的数据是否与当前数据类型一致,不一致hasNext❌❌❌方法就会返回false

nextLine() 将键盘录入的值当做字符串返回

next()将键盘录入的有效值进行输出:相较于上一个,不显示空格字符

 

先使用nextInt再使用nextLine出现问题的原因?

先使用nextInt接受int类型的数据,后面的\r\n剩下了,nextLine将这些也接受了,所以看起来就像是程序停止运行了。

解决方法:不管输入的是什么类型,都用nextLine接受,然后进行强转。(字符串无法转换为基本数据类型,此时要使用Integer.parseInt()来实现)

 

包装类:

八中数据类型→八种包装类(封装类)。而且是引用数据类型,有自己的属性和方法(例如Integer的是常用的int类型数据的操作(如转为String型),和一些运算方法)。

int→Integer,char→Character,其他的都是首字母大写就可。

Integer的方法

int→Integer,

Integer的构造函数完成,Integer i=new Ingeter(10);

写的更简单些,自动装箱 Integer i=num;num是一整型变量。

Integer→int ,

int num=i.intValue();也可以自动拆箱;

int num=i;

String→Integer

Ingeter 的构造函数完成,Integer i=new Integer("XXXX");

还有一个方法,Integer i=Integer.valueOf("xxxxx");

还可用于int型。

没有自动装箱,Integer i="XXX";

Integer→String

String s=i.toString();

同样也没有自动拆箱。

String →int(是指是数据形式的String型)

原来是无法实现的,原来有从int→到String类型的转换方法。

就是int a=10;String s=a+"";

现在int a=Integer.praseInt("123");

int →String

String s=Integer.toString(100);//与上文的toString 方法形成方法重载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值