java中对字符串的操作真的太多了,用法及其重要
String data = "";
String data2 = null;
String data3 = "nihk";
//新建的字符串为空,与data相同
String data4 = new String();
//bytes里面的数字会被转化为相应的码表字符-abc
byte[] bytes = new byte[]{97,98,99};
String data5 = new String(bytes);
//常用的方法
//字符串拼接,和+的用法一样,必须重新赋值或者写在一起
String test = "abcde".concat("你好");
test = test.concat("ef|abcde");
//判断字符串末尾字符
Boolean boo = test.endsWith("f");
Boolean boo1 = test.startsWith("a");
//不为 null,并且是表示与此对象相同的字符序列的 String 对象时,结果才为 true
Boolean boo2 = test.equals("abcde你好ef|");
//吧字符串放到一个byte数组中
byte[] bytes1 = test.getBytes();
//返回字符串第一次出现位置的索引,没有则返回-1
int index = test.indexOf("你好");
//从指定索引位置开始搜索,结果也是在整个字符串中第一次出现位置的索引
int index2 = test.indexOf("你好",3);
//返回最后一次出现位置的索引
int index3 = test.lastIndexOf("a");
//字符串的长度
int length = test.length();
// 通知此字符串是否匹配给定的正则表达式。
String regex = "YY^[n]12";
boolean boo3 = test.matches( regex);
//返回一个新的字符串,test2代替test
String test2 ="新的字符串";
test = test.replace(test,test2);
//从哪里开始截取
test = test.substring(3);
//从哪里截取到哪里[),从1,开始截取2-1的长度。
test2 = test2.substring(1,2);
//大小写转换,字符串中的字母全部转
/* String test3 = "ABCDabcd";
test3 = test3.toLowerCase();
System.out.println(test3);
test3 = test3.toUpperCase();
System.out.println(test3);*/
//除去空格字符串前面和末尾的空格
String test4 =""+"aa aa aa "+"";
System.out.println(test4);
test4 = test4.trim();
System.out.println(test4);
//返回参数的字符串的表现形式--把不同类型数据转为字符串
//"true" "a" "abc" "88"
String a = String.valueOf(true);
String b = String.valueOf(‘a‘);
String c = String.valueOf(new char[]{‘a‘,‘b‘,‘c‘});
String d = String.valueOf(88);
线程安全的可变字符序列。一个类似于 String 的字符串缓冲区
/**
* 缓冲字符串
* @param args
*/
public static void main(String args[]){
//线程安全,初始容量为16
StringBuffer buffer = new StringBuffer();
StringBuffer buffer1 = new StringBuffer("abcd");
//拼接,不需要 像str = str +"aaa""重新赋值。
buffer.append("aaa");//buffer="aaa"
//得到当前容量 16,20
int length = buffer.capacity();
int length1 = buffer1.capacity();
//移除子字符串
buffer.delete(0,buffer.length());
//字符串第一次出现的位置
int firstIndex = buffer.indexOf("a");
int lastIndex = buffer.lastIndexOf("a");
}
一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类
,因为在大多数实现中,它比 StringBuffer 要快。
用法基本上和StringBuffer相同,但是更快。推荐使用
String StringBuffer StringBuild的特点及用法
原文:https://www.cnblogs.com/xshu/p/14839312.html