Java-string类

本文详细介绍了Java中的String类,包括它的概述、特点和常见方法的使用。通过示例展示了如何创建String对象、访问字符、拼接字符串、查找子串、转换大小写等操作。此外,还提供了String类的构造方法和其他方法的说明,帮助读者深入理解String类的用法。
摘要由CSDN通过智能技术生成

String类

1 、概述

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

2 、特点

​ public final class String不能被继承
​ private final char value[];String本质上维护了一个char[] 叫value,用来存储多个字符数据.而且String是一个常量,值不能被修改

3、测试
import java.util.Arrays;
import java.util.Scanner;

//测试 API-string类
public class text_String {
	public static void main(String[] args) {
		//1、创建String对象
        String s = new String();
        // 特点:String底层是一个char[]-----   String(char[] value)
        char[] value = {'h','e','l','l','o'};
        String s2 = new String(value);
        //2、调用方法
        System.out.println( s2.charAt(2) );//获取下标2对应的字符
        System.out.println( s2.concat("123") );//在s2后面拼接"123"
        System.out.println( s2.contains("xyz") );//判断s2包含"xyz"吗
        System.out.println( s2.endsWith("llo") );//判断s2是否以"llo"结尾
        System.out.println( s2.equals("hello") );//判断s2是否与?相等
        System.out.println( s2.hashCode() );// 获取s2在内存中的地址值
        System.out.println( s2.indexOf("l") );//  获取l字符串在s2里第一次出现的索引值
        System.out.println( s2.lastIndexOf("l"));//  获取l字符串在s2里最后一次出现的索引值
        System.out.println( s2.isEmpty() );//   判断s2是否为空
        System.out.println( s2.length() );//   获取s2的长度
        System.out.println( s2.replace('l','a'));//      拿着新字符,替换老字符
        System.out.println( s2.startsWith("he") );//      判断是否以"he"开始
        System.out.println( s2.substring(2));//      从2索引开始截取字符串
        System.out.println( s2.substring(2,4));//      从2索引开始,到4索引结束截取字符串--含头不含尾
        System.out.println( s2.toLowerCase());//      全转小写
        System.out.println( s2.toUpperCase());//      全转大写
        System.out.println( s2.toString());//      展示 属性值
        s2 = " he ll o  " ;
        System.out.println( s2.trim());//      去除前面和后面的多余空格
        String ss = String.valueOf(100);//      把各种类型的数据  转成 String类型
        System.out.println(ss);
        char[] cs = s2.toCharArray();//     把s2的每个字符,存入char[]
        System.out.println(cs);

        byte[] bs = s2.getBytes();
        System.out.println(Arrays.toString(bs) );//      把s2里的每个字符对应的整数,存入byte[]
        
        s2 = "a1b1c1d1e1f" ;
        String[] strs = s2.split("d");
        System.out.println( Arrays.toString(strs) );//按照指定的规则,切割字符串

        //     接收用户输入的字符串,打印每个字符
        String input = new Scanner(System.in).nextLine();
        //遍历字符串
        for(int i = 0;i < input.length();i++) {
            //获取每个字符
            char c = input.charAt(i) ;
            System.out.println(c);
        }
	}
}

4 、附上string的其他方法

string构造方法:(Constructor and Description )
String() 
	初始化新创建的 String对象,使其表示空字符序列。  
String(byte[] bytes) 
	通过使用平台的默认字符集解码指定的字节数组来构造新的 String 。  
String(byte[] bytes, Charset charset) 
	构造一个新的String由指定用指定的字节的数组解码charset 。    
String(byte[] bytes, int offset, int length) 
	通过使用平台的默认字符集解码指定的字节子阵列来构造新的 String 。  
String(byte[] bytes, int offset, int length, Charset charset) 
	构造一个新的String通过使用指定的指定字节子阵列解码charset 。    
String(byte[] bytes, int offset, int length, String charsetName) 
	构造一个新的 String通过使用指定的字符集解码指定的字节子阵列。  
String(byte[] bytes, String charsetName) 
	构造一个新的String由指定用指定的字节的数组解码charset 。  
String(char[] value) 
	分配一个新的 String ,以便它表示当前包含在字符数组参数中的字符序列。  
String(char[] value, int offset, int count) 
	分配一个新的 String ,其中包含字符数组参数的子阵列中的字符。  
String(int[] codePoints, int offset, int count) 
	分配一个新的 String ,其中包含 Unicode code point数组参数的子阵列中的 字符 。  
String(String original) 
	初始化新创建的String对象,使其表示与参数相同的字符序列; 换句话说,新创建的字符串是参数字符串的副本。  
String(StringBuffer buffer) 
	分配一个新的字符串,其中包含当前包含在字符串缓冲区参数中的字符序列。  
String(StringBuilder builder) 
	分配一个新的字符串,其中包含当前包含在字符串构建器参数中的字符序列。  

string其他方法:
char charAt(int index) 
	返回 char指定索引处的值。  
int codePointAt(int index) 
	返回指定索引处的字符(Unicode代码点)。  
int codePointBefore(int index) 
	返回指定索引之前的字符(Unicode代码点)。  
int codePointCount(int beginIndex, int endIndex) 
	返回此 String指定文本范围内的Unicode代码点数。  
int compareTo(String anotherString) 
	按字典顺序比较两个字符串。  
int compareToIgnoreCase(String str) 
	按字典顺序比较两个字符串,忽略病例差异。  
String concat(String str) 
	将指定的字符串连接到该字符串的末尾。  
boolean contains(CharSequence s) 
	当且仅当此字符串包含指定的char值序列时才返回true。  
boolean contentEquals(CharSequence cs) 
	将此字符串与指定的CharSequence进行 CharSequence 。  
boolean contentEquals(StringBuffer sb) 
	将此字符串与指定的StringBuffer进行 StringBuffer 。  
static String copyValueOf(char[] data) 
	相当于 valueOf(char[]) 。  
static String copyValueOf(char[] data, int offset, int count) 
	相当于 valueOf(char[], int, int) 。  
boolean endsWith(String suffix) 
	测试此字符串是否以指定的后缀结尾。  
boolean equals(Object anObject) 
	将此字符串与指定对象进行比较。  
boolean equalsIgnoreCase(String anotherString) 
	将此 String与其他 String比较,忽略案例注意事项。  
static String format(Locale l, String format, Object... args) 
	使用指定的区域设置,格式字符串和参数返回格式化的字符串。  
static String format(String format, Object... args) 
	使用指定的格式字符串和参数返回格式化的字符串。  
byte[] getBytes() 
	使用平台的默认字符集将此 String编码为字节序列,将结果存储到新的字节数组中。  
byte[] getBytes(Charset charset) 
	使用给定的charset将该String编码为字节序列,将结果存储到新的字节数组中。   
byte[] getBytes(String charsetName) 
	使用命名的字符集将此 String编码为字节序列,将结果存储到新的字节数组中。  
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 
	将此字符串中的字符复制到目标字符数组中。  
int hashCode() 
	返回此字符串的哈希码。  
int indexOf(int ch) 
	返回指定字符第一次出现的字符串内的索引。  
int indexOf(int ch, int fromIndex) 
返回指定字符第一次出现的字符串内的索引,以指定的索引开始搜索。  
int indexOf(String str) 
返回指定子字符串第一次出现的字符串内的索引。  
int indexOf(String str, int fromIndex) 
返回指定子串的第一次出现的字符串中的索引,从指定的索引开始。  
String intern() 
返回字符串对象的规范表示。  
boolean isEmpty() 
返回 true如果,且仅当 length()为 0 。  
static String join(CharSequence delimiter, CharSequence... elements) 
返回一个新的字符串,由 CharSequence elements的副本组成,并附有指定的delimiter的 delimiter 。  
static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements) 
返回一个新 String的副本组成 CharSequence elements与指定的副本一起加入 delimiter 。  
int lastIndexOf(int ch) 
返回指定字符的最后一次出现的字符串中的索引。  
int lastIndexOf(int ch, int fromIndex) 
返回指定字符的最后一次出现的字符串中的索引,从指定的索引开始向后搜索。  
int lastIndexOf(String str) 
返回指定子字符串最后一次出现的字符串中的索引。  
int lastIndexOf(String str, int fromIndex) 
返回指定子字符串的最后一次出现的字符串中的索引,从指定索引开始向后搜索。  
int length() 
返回此字符串的长度。  
boolean matches(String regex) 
告诉这个字符串是否匹配给定的 regular expression 。  
int offsetByCodePoints(int index, int codePointOffset) 
返回此 String内的指数,与 index codePointOffset代码点。  
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 
测试两个字符串区域是否相等。  
boolean regionMatches(int toffset, String other, int ooffset, int len) 
测试两个字符串区域是否相等。  
String replace(char oldChar, char newChar) 
返回从替换所有出现的导致一个字符串 oldChar在此字符串 newChar 。  
String replace(CharSequence target, CharSequence replacement) 
将与字面目标序列匹配的字符串的每个子字符串替换为指定的字面替换序列。  
String replaceAll(String regex, String replacement) 
用给定的替换替换与给定的 regular expression匹配的此字符串的每个子字符串。  
String replaceFirst(String regex, String replacement) 
用给定的替换替换与给定的 regular expression匹配的此字符串的第一个子字符串。  
String[] split(String regex) 
将此字符串分割为给定的 regular expression的匹配。  
String[] split(String regex, int limit) 
将这个字符串拆分为给定的 regular expression的匹配。  
boolean startsWith(String prefix) 
测试此字符串是否以指定的前缀开头。  
boolean startsWith(String prefix, int toffset) 
测试在指定索引处开始的此字符串的子字符串是否以指定的前缀开头。  
CharSequence subSequence(int beginIndex, int endIndex) 
返回一个字符序列,该序列是该序列的子序列。  
String substring(int beginIndex) 
返回一个字符串,该字符串是此字符串的子字符串。  
String substring(int beginIndex, int endIndex) 
返回一个字符串,该字符串是此字符串的子字符串。  
char[] toCharArray() 
将此字符串转换为新的字符数组。  
String toLowerCase() 
将所有在此字符 String使用默认语言环境的规则,以小写。  
String toLowerCase(Locale locale) 
将所有在此字符 String ,以降低使用给定的规则情况下 Locale 。  
String toString() 
此对象(已经是字符串!)本身已被返回。  
String toUpperCase() 
将所有在此字符 String使用默认语言环境的规则大写。  
String toUpperCase(Locale locale) 
将所有在此字符 String使用给定的规则,大写 Locale 。  
String trim() 
返回一个字符串,其值为此字符串,并删除任何前导和尾随空格。  

Java中的String是一个非常重要的,它代表了字符串型的数据。以下是关于JavaString的一些介绍和操作方法: 1. StringJava中的一个,用于表示字符串型的数据。 2. String的对象是不可变的,也就是说,一旦创建了一个String对象,就不能再修改它的值。 3. 可以使用双引号来创建一个String对象,例如:String str = "Hello World"。 4. String中有很多方法可以用来操作字符串,例如获取字符串长度、比较字符串、查找子字符串等等。 5. 获取字符串长度的方法是:str.length(),其中str是一个String对象。 6. 比较两个字符串是否相等的方法是:str1.equals(str2),其中str1和str2都是String对象。 7. 查找子字符串的方法是:str.indexOf(subStr),其中str是一个String对象,subStr是要查找的子字符串。 以下是一个Java程序示例,演示了如何使用String的一些方法: ```java public class StringDemo { public static void main(String[] args) { String str1 = "Hello"; String str2 = "World"; String str3 = "Hello"; // 获取字符串长度 System.out.println("Length of str1: " + str1.length()); // 比较字符串是否相等 System.out.println("str1 equals str2? " + str1.equals(str2)); System.out.println("str1 equals str3? " + str1.equals(str3)); // 查找子字符串 System.out.println("Index of 'llo' in str1: " + str1.indexOf("llo")); } } ``` 输出结果为: ``` Length of str1: 5 str1 equals str2? false str1 equals str3? true Index of 'llo' in str1: 2 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值