String
--1,概述
String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。字符串是常量;它们的值在创建之后不能更改。
--2,特点
--源码摘抄:public final class String
/** The value is used for character storage. */
private final char value[];
--String类不能被继承
--String类型的数据,一旦定义值不能改就是常量.
--String存数据时,本质上是把没个字符存入char[] value.
--3,创建对象
String(char[] value)
--4,常用方法
char charAt(int index)
返回指定索引处的 char 值。
String concat(String str)
将指定字符串连接到此字符串的结尾。
boolean contains(String s)
当且仅当此字符串包含指定的 char 值序列时,返回 true
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束。
boolean equals(Object anObject)
将此字符串与指定的对象比较。
byte[] getBytes()
使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
int hashCode()
返回此字符串的哈希码。
int indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引。
boolean isEmpty()
当且仅当 length() 为 0 时返回 true。
int lastIndexOf(String str)
返回指定子字符串在此字符串中最右边出现处的索引。
int length()
返回此字符串的长度。
String replace(char oldChar, char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串
boolean startsWith(String prefix)
测试此字符串是否以指定的前缀开始。
String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
String substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。
char[] toCharArray()
将此字符串转换为一个新的字符数组。
String toLowerCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
String toUpperCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
String trim()
返回字符串的副本,忽略前导空白和尾部空白。
static String valueOf(int i)
返回 int 参数的字符串表示形式。
--5,测试
package cn.tedu.api;
import java.util.Arrays;
//测试 String工具类
public class Test2_String {
public static void main(String[] args) {
//1, 创建String对象 -- 本质上就是维护了一个char[]
char[] c = {‘h‘,‘e‘,‘l‘,‘l‘,‘o‘};
//触发String(char[] value)构造方法
String s = new String(c);
String s2 = "hello" ;//简写形式
//TODO 2, 常用方法测试
System.out.println( s.charAt(4) );//根据下标获取对应的字符
System.out.println( s.concat("hello") );//拼接字符串
System.out.println( s.contains("abc") );//判断是否包含
System.out.println( s.endsWith("lo") );//判断是否以指定的后缀结束
System.out.println( s.equals("123") );//判断是否相等
System.out.println( s.hashCode() );//获取哈希码值
System.out.println( s.indexOf("l") );//获取指定的数据第一次出现的索引值
System.out.println( s.isEmpty() );//判断是否为空
System.out.println( s.lastIndexOf("l") );//获取指定的数据 最后一次出现的索引值
System.out.println( s.length() );//获取长度
System.out.println( s.replace(‘e‘,‘9‘) );//替换字符
System.out.println( s.startsWith("123") );//判断是否以123开始
System.out.println( s.substring(2) );//从2开始向后截取完
System.out.println( s.substring(1,4) );//从1开始到4结束,含头不含尾
System.out.println( s.toLowerCase() );//全转小写
System.out.println( s.toUpperCase() );//全转大写
s = " hel lo ";
System.out.println( s.trim() );//去除前面和后面空格
char[] cs = s.toCharArray();//把s里的数据存入char[]
System.out.println( cs );
byte[] bs = s.getBytes();//把s里的每个字符转成数字存入byte[]
//[32, 104, 101, 108, 32, 108, 111, 32, 32]
System.out.println( Arrays.toString(bs) );
s = "ab1c1d1e1f";
String[] ss = s.split("1");//按照指定的规则切割字符串
//[ab, c, d, e, f]
System.out.println( Arrays.toString(ss) );
String num = String.valueOf(10);//把其它类型转成String类型
System.out.println(num);
//TODO 练习
//需求: 接收用户输入的一串数据 ,,,,获取并打印每个数据
}
}
原文:https://www.cnblogs.com/liang-shi/p/13849955.html