String类
Posted 薰衣草
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String类相关的知识,希望对你有一定的参考价值。
String类适用于描述字符串事物,那么它就提供了多个方法对字符串进行操作。
常见的操作:
1.获取
1。1字符串中包含的字符数,也就是字符串的长度
int length():获取长度
1.2根据位置获取位置上的某个字符
char charAt(int index)
1.3根据字符获取该字符在字符串中的位置
int indexOf(int ch):返回ch在字符串中第一次出现的位置
int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中出现的位置
int indexOf(String str):返回str在字符串中第一次出现的位置
int indexOf(String str,int fromIndex):从fromIndex指定位置开始,获取str在字符串中出现的位置
反向索引:
int lastindexOf(int ch):返回ch在字符串中最后一次出现的位置
int lastindexOf(int ch,int fromIndex):从fromIndex指定位置开始反向搜索,获取ch在字符串中最后一次出现的位置
int lastindexOf(String str):返回str在字符串中最后一次出现的位置
int lastindexOf(String str,int fromIndex):从fromIndex指定位置开始反向搜索,获取str在字符串中最后一次出现的位置
2.判断
2.1字符串中是否包含某一个子串。
boolean contains(CharSequence s)
特殊之处:indexOf(str):可以索引str第一次出现位置,如果返回-1,表示str不在字符串中。
所以,也可以用于对指定判断是否包含。
if(str.indexOf("aa")!=-1)即包含
而且该方法既可以判断,又可以获取出现的位置
2.2字符串中是否有内容。
boolean isEmpty():原理是判断长度是否为零。
2.3字符串是否是以指定内容开头。
boolean startsWith(str)
2.4字符串是否是以指定内容结尾。
boolean endsWith(str)
2.5判断字符串内容是否相同。复写了Object类中的equals方法
boolean equals(str)
2.6判断内容是否相同,并忽略大小写
boolean equalsIgnoreCase()
3 转换
3.1将字符数组转成字符串
构造函数:String (char[])
String(char[],int offset,int count):将字符数组中的一部分转成字符串
静态方法:
static String copyValueOf(char[])
static String copyValueOf(char data,int offset,int count)
static String valueOf(char[])
3.2将字符串转成字符数组
char[] toCharArray()
3.3将字节数组转成字符串
构造函数:String (byte[])
String(byte[],int offset,int count):将字节数组中的一部分转成字符串
3。4将字符串转成字节数组
byte[] getBytes()
3.5将基本数据类型转换成字符串
static String valueOf(int)
static String valueOf(double)
...
3+""等价于String.valueOf(3);
特殊:字符串和字节数组在转换过程中,是可以指定编码表的
4 替换
String replace(char oldChar,char newChar)//替换字符
String replace(CharSequece target,CharSequece replacement)//替换字符序列
5.切割
String[] split(String regex)
6. 子串 获取字符串中的一部分
String substring(int begin):从指定位置到结尾.若脚标不存在,会出现脚标越界异常
String substring(int begin,int end):从begin开始到end-1
7.转换,去除空格,比较
7.1 将字符串转成大写或小写
String toUpperCase()
string toLowerCase()
7.2 将字符串两端的多个空格去除
String trim()
7.3 对两个字符串进行自然顺序的比较
int compareTo(String)//此字符串等于参数字符串返回结果为0,小于为负数,大于为正数
public class StringDemo
public static void main(String[] args)
String s1 = "abc"; //s1是一个类类型变量,"abc"是一个对象。
//字符串最大特点:一旦被初始化就不可以被改变。
String s2 = new String("abc");
//s1和s2有什么区别?
//s1在内存中代表一个对象,s2在内存中有两个对象。
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
//String类复写了Object类中的equals方法。该方法用于判断字符串是否相等。
public class StringMethodDemo
public static void main(String[] args)
String s1 = "abc";
String s2 = new String("abc");
String s3 = "abc";
System.out.println(s1 == s2);
System.out.println(s1 == s3);
//常量都是存在于常量池中的,当"abc"在常量池中存在后,s3在初始化时发现该对象已经存在,就不在另开辟内存,直接指向s1所指的对象。
以上是关于String类的主要内容,如果未能解决你的问题,请参考以下文章
类-string/Manth/Random/DateTime-及练习