java string類方法深入解析
import java.nio.charset.Charset;
import java.nio.charset.UnsupportedCharsetException;
import java.util.Locale;
import java.util.Date;
import java.util.regex.PatternSyntaxException;
import javax.xml.crypto.Data;
public class Stringxuexi {
public static void main(String[] argc)
{
//charAt(int index) 返回index處的Unicode字符
String strCom = "JAVA程序設(shè)計(jì)";
System.out.println(strCom.charAt(4));
//codePointAt(int index) 返回index處字符的Unicode編碼值
strCom = "I like JAVA ,too";
System.out.println(strCom.codePointAt(8));
//codePointBefore 返回index-1處字符的Unicode編碼值
System.out.println(strCom.codePointBefore(2));
//codePointCount(int beginIndex,int endIndex)方法 返回指定文本范圍內(nèi)Unicode代碼點(diǎn)的數(shù)量
System.out.println(strCom.codePointCount(0, 3));
//compareTo(String str)
//如果兩個(gè)字符串不同,那么他們要么在某個(gè)索引處的字符不同,要么長(zhǎng)度不同,或者同時(shí)具備這兩種情況
//如果在一個(gè)或多個(gè)索引處字符不同,假設(shè)k是這類索引的最小值,那么返回值就是這兩個(gè)字符串在位置k處
//兩個(gè)char值之差,如果沒(méi)有字符不同的索引位置,則返回值是兩個(gè)字符串長(zhǎng)度的差
System.out.println(strCom.compareTo("I like PHP"));
System.out.println(strCom.compareTo("I like JAVA too"));
//compareToIgnoreCase(String str) 忽略大小寫比較字符串大小
System.out.println(strCom.compareToIgnoreCase("I Like PHP"));
//concat(String str) 將另一字符串連接在此字符串的后面,如果參數(shù)字符串的長(zhǎng)度為0,
//則返回此字符串,否則創(chuàng)建一個(gè)新的String對(duì)象
System.out.println(strCom.equals(strCom.concat("")));
System.out.println(strCom.concat(strCom));
//contains(CharSequence s)判斷字符串是否包含指定的char值序列
System.out.println(strCom.contains("JAVA"));
//valueOf(char []data) 靜態(tài)方法,返回包含字符數(shù)組的字符的字符串
char [] array={'山','東'};
System.out.println(String.valueOf(array));
//valueOf(char[] data,int offset,int count)返回包含字符數(shù)組從offset處開(kāi)始的count個(gè)字符
//組成的字符串
System.out.println(String.valueOf(array, 0, 1));
//endwith(String suffix)測(cè)試字符串是否是指定的后綴結(jié)束
System.out.println(strCom.endsWith("JAVA"));
//equals(object obj) 如果給定的對(duì)象表示的String與此String相等,則返回true,否則false
System.out.println(strCom.equals("I like JAVA"));
//equalsIgnoreCase(String anotherString) //忽略大小寫與另一字符串進(jìn)行比較,注意與equals方法的參數(shù)類型不同
System.out.println(strCom.equalsIgnoreCase("I Like JAva"));
//format(String format,Object ...args)靜態(tài)方法 使用指定的格式字符串和參數(shù)返回一個(gè)格式話字符串
//%d 格式化為十進(jìn)制整數(shù)
//%o 格式化為八進(jìn)制整數(shù)
//%x %X 格式化為十六進(jìn)制整數(shù)
System.out.println(String.format("%e %x %o %d %a %% %n", 15.000,15,15,15,15.0));
//format(Locale l,String format,Object ... args)
//通過(guò)給定的特殊轉(zhuǎn)換符作為參數(shù)來(lái)實(shí)現(xiàn)對(duì)日期和時(shí)間字符串的格式化
//%te 一個(gè)月中的某一天
//%tb 指定語(yǔ)言環(huán)境的月份簡(jiǎn)稱
//%tB 指定語(yǔ)言環(huán)境的月份全稱
//%tA 指定語(yǔ)言環(huán)境的星期幾全稱
//%ta 指定語(yǔ)言環(huán)境的星期幾簡(jiǎn)稱
//%tc 包括全部日期和時(shí)間信息
//%tY 4位年份
//%ty 二位年份
//%tm 月份
//%tj 一年中的第幾天
//%td 一個(gè)月中的第幾天
Date date = new Date();
Locale form = Locale.CHINA;
String year = String.format(form, "%tY", date);
String month = String.format(form, "%tm", date);
String day = String.format(form, "%td", date);
System.out.println("今天是: "+ year + "年"+month+"月"+day+"日");
System.out.println(String.format(form, "%tc", date));
//byte[] getBytes() 得到字符串的byte序列
byte[] str = strCom.getBytes();
for (int i = 0;i < str.length;i++)
System.out.print(str[i]+" ");
//getBytes(Charset charset)
//getBytes(String string)
//得到編碼字符集的所得字符序列
try {
str = strCom.getBytes(Charset.defaultCharset());
for (int i = 0; i < str.length; i++)
System.out.println(str[i] + " ");
} catch (UnsupportedCharsetException e) {
// TODO: handle exception
e.printStackTrace();
}
//getchars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
//將字符從此字符串復(fù)制到目標(biāo)字符數(shù)組
char[] dst = new char[10];
strCom.getChars(0, 10, dst, 0);
for (int i = 0; i < dst.length;i++)
System.out.print(dst[i]);
System.out.println();
//hashCode() 返回字符串的哈希碼,String對(duì)象的哈希碼的計(jì)算公式是
//s[0]*31^(n-1)+s[1]*31^(n-2)+...+s[n-1]
//空串的哈希碼為0
System.out.println(strCom.hashCode());
//indexOf(int ch) 獲取字符的第一個(gè)索引,ch是一個(gè)字符,如果沒(méi)有,返回-1
System.out.println(strCom.indexOf('A'));
//indexOf(int ch,int fromIndex) //返回從從指定的索引處開(kāi)始的指定字符的索引
//fromIndex沒(méi)有限制,如果為負(fù),與0等效,如果大于等于字符串長(zhǎng)度,則返回-1
System.out.println(strCom.indexOf('A', 9));
//indexOf(String str)
//indexOf(String str,int fromIndex)
//返回指定字符串在此字符串第一次出現(xiàn)處的索引
System.out.println(strCom.indexOf("JAVA"));
//intern() 返回字符串對(duì)象的規(guī)范化表示形式
//當(dāng)調(diào)用intern方法時(shí),如果池已經(jīng)包含一個(gè)等于此String對(duì)象的字符串,則返回池中的字符串
//否則將此字符串對(duì)象添加到池中,并返回此String對(duì)象引用
//了解這個(gè)處理機(jī)制也可以讓我們?cè)谟玫阶址A康臅r(shí)候了解如何節(jié)省這些字符串所占用的內(nèi)存。
String strCom2 = new String("I like JAVA");
System.out.println(strCom == strCom2);
System.out.println(strCom.endsWith(strCom2));
System.out.println(strCom.compareTo(strCom2));
System.out.println(strCom.intern() == strCom2.intern());
String s1 = new String("你好,Java自由人");
String s2 = new String("你好,") + "Java自由人";
System.out.println(s1==s2);
System.out.println(s1.intern()==s2.intern());
//同indexOf,注意fromIndex 參數(shù),是指從fromIndex處反向搜索
System.out.println(strCom.lastIndexOf('A'));
System.out.println(strCom.lastIndexOf('A',10));
System.out.println(strCom.lastIndexOf("JAVA"));
System.out.println(strCom.lastIndexOf("JAVA", 10));
//返回字符串長(zhǎng)度
System.out.println(strCom.length());
//matchs(String regex)匹配正則表達(dá)式
try {
String regex = "1234";
System.out.println(regex.matches("http://d{4}"));
System.out.println(regex.replaceAll("http://d{4}", "chen"));
System.out.println(regex.replaceFirst("http://d{4}", "chen"));
} catch (PatternSyntaxException e) {
// TODO: handle exception
e.printStackTrace();
}
// offsetByCodePoints(int index,int codePointOffset)
//返回從給定的index處偏移codePointOffset個(gè)代碼點(diǎn)的索引
System.out.println(strCom.offsetByCodePoints(7, 4));
//測(cè)試兩個(gè)字符串區(qū)域是否相等,第一個(gè)參數(shù)為true時(shí)表示忽略大小寫
System.out.println(strCom.regionMatches(true, 0, "I lIke", 0, 3));
System.out.println(strCom.regionMatches(0, "I like", 0, 3));
System.out.println(strCom.replace('A', 'a'));
System.out.println(strCom.replace("JAVA", "PHP"));
//String[] split(String regex,int limit)
//按指定的分隔符會(huì)字符串內(nèi)容分割并存放到字符串?dāng)?shù)組中,limit為控制模式應(yīng)用次數(shù)
String[] info = strCom.split(" ,");
for (int i = 0; i < info.length;i++)
System.out.println(info[i]);
info = strCom.split(" ", 2);
for (int i = 0; i < info.length;i++)
System.out.println(info[i]);
//startsWith(String prefix,int toffset)//判斷是否以指定前綴開(kāi)始
//toffset為負(fù)或大于字符串長(zhǎng)度結(jié)果為false
System.out.println(strCom.startsWith("I"));
System.out.println(strCom.startsWith("I",-1));
//CharSequeuece subSequeuece(int beginIndex,int endIndex)
//返回一個(gè)新的字符序列
System.out.println(strCom.subSequence(2, 6));
//String substring(int beginindex,int endIndex)
//返回子字符串
System.out.println(strCom.substring(2));
System.out.println(strCom.substring(2, 6));
//toCharArray() 字符串變字符數(shù)組
char[] str1 = strCom.toCharArray();
for (int i = 0; i < str1.length;i++)
System.out.print(str1[i]+" ");
System.out.println();
//toLowerCase(Locale locale) 將字符串中的所有字符變成大/小寫返回新的字符串
System.out.println(strCom.toLowerCase());
System.out.println(strCom.toUpperCase());
System.out.println(strCom.toUpperCase(form));
System.out.println(strCom.toLowerCase(form));
//trim()方法取出字符串的前后空白
System.out.println((" "+strCom).trim());
//valueOf() 靜態(tài)方法 實(shí)現(xiàn)基本數(shù)據(jù)類型轉(zhuǎn)成字符串
System.out.println(String.valueOf(true));
System.out.println(String.valueOf('A'));
System.out.println(String.valueOf(12.0));
}
}
相關(guān)文章
Mybatis中resultMap的Colum和property屬性詳解
這篇文章主要介紹了Mybatis中resultMap的Colum和property屬性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。2022-01-01
解決idea 拉取代碼出現(xiàn)的 “ Сannot Run Git Cannot identify version of
這篇文章主要介紹了解決idea 拉取代碼出現(xiàn)的 “ Сannot Run Git Cannot identify version of git executable: no response“的問(wèn)題,需要的朋友可以參考下2020-08-08
java開(kāi)發(fā)之Jdbc分頁(yè)源碼詳解
這篇文章主要介紹了java開(kāi)發(fā)之Jdb分頁(yè)源碼詳解,需要的朋友可以參考下2020-02-02
SpringBoot中支持Https協(xié)議的實(shí)現(xiàn)
本文主要介紹了SpringBoot中支持Https協(xié)議的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
java解析xml匯總_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了java解析xml匯總_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理的相關(guān)資料,需要的朋友可以參考下2017-07-07
Java實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源切換的實(shí)踐指南
在 Java 開(kāi)發(fā)中,許多場(chǎng)景需要訪問(wèn)多個(gè)數(shù)據(jù)庫(kù),例如多租戶系統(tǒng)或讀寫分離架構(gòu),為了靈活高效地管理這些場(chǎng)景,動(dòng)態(tài)數(shù)據(jù)源切換技術(shù)應(yīng)運(yùn)而生,所以本文給大家介紹了Java實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源切換的實(shí)踐指南,需要的朋友可以參考下2025-03-03
SpringBoot實(shí)現(xiàn)WebSocket服務(wù)并讓客戶端實(shí)時(shí)接收
使用SpringBoot和WebSocket可創(chuàng)建實(shí)時(shí)消息推送服務(wù),首先添加WebSocket依賴至pom.xml,配置WebSocket端點(diǎn)和邏輯處理器,通過(guò)WebSocketHandler處理消息,使用AnnouncementController模擬消息推送,支持HTML和微信小程序客戶端接收消息,感興趣的可以了解一下2024-10-10
Java springboot Mongodb增刪改查代碼實(shí)例
這篇文章主要介紹了Java springboot Mongodb增刪改查代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07

