一、定义
String类创建的实例是字符串,代表不可变的字符序列。 Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。 字符串不变; 它们的值在创建后不能被更改。
String str = "abc";
二、方法
Ⅰ.构造方法:
①复制字符串常量内容创建字符串对象
String(String original)
初始化新创建的String对象,使其表示与参数相同的字符序列; 换句话说,新创建的字符串是参数字符串的副本。
String str1 = new String("hello");
小朋友,你是否有很多问号❓可能在这里,你会想为什么我不直接赋值呢?还要创建对象,这么麻烦。其实这两者还是有区别的。本质上的区别是直接赋值创建的字符串常量,使用new关键字创建的是字符串对象。
String st1 = "hello";
String st2 = "hello";
String st3 = new String("hello");
String st4 = new String("hello");
System.out.println(st1 == st2); //true
System.out.println(st1 == st3); //false
System.out.println(st3 == st4); //false
这里就涉及了Java中变量的存储问题。
👉java之变量以及对象的存储位置区别
(其他博主的文章)
②字节数组转换字符串
//把字节数组转成字符串
public String(byte[] bytes)
//把字符数组的一部分转成字符串(offset为截取字节段的起始位置下标值)
public String(byte[] bytes,int offset,int length)
......
使用平台的默认字符集解码指定的字节数组来构造新的String。
char[] chars = {'h','e','l','l','o',' ','w','o','r','l','d','!'};
String str1 = new String(chars);
String str2 = new String(chars,6,6);
System.out.println(str1); //hello world!
System.out.println(str2); //world!
Ⅱ.常用方法:
①字符串判断:
//比较字符串的内容是否相同,区分大小写
boolean equals(Object obj)
//比较字符串的内容是否相同,忽略大小写
boolean equalsIgnoreCase(String str)
//判断大字符串中是否包含小字符串
boolean contains(String str)
//判断字符串是否为空
boolean isEmpty()
......
注意:equals()方法与“==”两者的用法区别!
equals()方法是用来判断其他对象是否和该对象相等,一般都是会被重写的。
在String类中equals()方法也被重写了。
(前者比较的内容,后者比较的是对象)
②字符串获取:
//获取字符串的长度
int length()
//获取指定索引位置的字符
char charAt(int index)
//返回指定字符在此字符串中第一次出现处的索引
int indexOf(int ch)
//返回指定字符串在此字符串中第一次出现处的索引
int indexOf(String str)
//从指定位置开始截取字符串,默认到末尾
String substring(int start)
//从指定位置开始到指定位置结束截取字符串
String substring(int start,int end)
......
③字符串转换:
//字符串转换为字节数组
byte[] getBytes()
//字符串转换为字符数组
char[] toCharArray()
//字符串转换成其他类型(相当于强制转换)
String valueOf(....)
//把字符串转成小写
String toLowerCase()
//把字符串转成大写
String toUpperCase()
//把字符串拼接(相当于“+”)
String concat(String str)
......
😀希望以上的分享对你有所帮助😀