Java之一文詳解String字符串的用法
一. String字符串簡(jiǎn)介
1. 概述
String是Java里的一個(gè)類(lèi),屬于引用類(lèi)型,遵循引用類(lèi)型的基本規(guī)律和要求。但它也有自己的一些特點(diǎn),比如可以直接用雙引號(hào)"......"來(lái)表示一個(gè)字符串,所以凡是用雙引號(hào)括起來(lái)的一串字符都是String對(duì)象,如“Hello”在編譯后就會(huì)成為一個(gè)String對(duì)象。
而且String是final類(lèi),一旦創(chuàng)建了一個(gè)String對(duì)象,理論上就不能再被改變,當(dāng)然我們可以使用其他變量重新賦值的方式進(jìn)行更改。
另外從名字上我們也可以猜測(cè)出,字符串與字符有一定的關(guān)系。實(shí)際上,String字符串的內(nèi)部是通過(guò)一個(gè)private final char[]數(shù)組來(lái)實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的,所以我們可以通過(guò)如下方式來(lái)表示一個(gè)字符串:
String str = new String(new char[] {'H', 'e', 'l', 'l', 'o', 'y', 'y', 'g'}); 當(dāng)然,以上這種字符串的表達(dá)方式太過(guò)麻煩,而且由于String太常用了,所以Java就提供了"......"這種極簡(jiǎn)的表達(dá)方式供我們使用。
我們要知道,Java字符串的一個(gè)重要特點(diǎn)就是字符串的不可變性。這種不可變主要是通過(guò)final修飾String類(lèi),private final char[]字段對(duì)數(shù)據(jù)的存儲(chǔ),且沒(méi)有提供任何可以修改char[]字段的方法來(lái)實(shí)現(xiàn)的。
2. 與字符的區(qū)別
壹哥之前給大家講過(guò)java里的8種基本數(shù)據(jù)類(lèi)型,我們知道,其中有一種比較特殊的char字符類(lèi)型,可以在單引號(hào)中存儲(chǔ)單個(gè)的字符元素,比如'A'、'9'、'國(guó)' 等。而我們今天要學(xué)習(xí)的String類(lèi),則是用雙引號(hào)"..."來(lái)表達(dá)字符串的。作為初學(xué)者,我們一定要注意字符與字符串的區(qū)別:
- 字符只能表示單個(gè)字符元素,必須用單引號(hào)''把單個(gè)的字符元素括起來(lái),如'A'、'9'、'國(guó)' 等;
- 字符串可以表示單個(gè)或多個(gè)字符元素,必須用雙引號(hào)把單個(gè)或多個(gè)字符元素括起來(lái),如"A"、"Hi"、"中國(guó)"等;
- 字符是基本類(lèi)型,其本質(zhì)是一種數(shù)值;字符串是引用類(lèi)型,其本質(zhì)是一個(gè)java類(lèi)。
3. 定義方式
String字符串的定義方式,常用的有如下兩種:
通過(guò)構(gòu)造方法創(chuàng)建字符串對(duì)象;
直接賦值。
我們?cè)陂_(kāi)發(fā)時(shí),其實(shí)很少使用第一種方式,因?yàn)樘^(guò)啰嗦,一般都是通過(guò)直接賦值的方式進(jìn)行定義。
3.1 構(gòu)造方法定義
Java為String類(lèi)提供了11個(gè)構(gòu)造方法創(chuàng)建String對(duì)象,這些方法提供了不同的參數(shù)來(lái)初始化字符串。當(dāng)字符串變量被創(chuàng)建處理后,必須經(jīng)過(guò)初始化才能使用。下面是通過(guò)構(gòu)造方法定義String對(duì)象的幾種方式,大家可以參考:
/**
* @author 一一哥Sun
* 千鋒教育
*/
public class Demo01 {
public static void main(String[] args) {
//通過(guò)構(gòu)造方法創(chuàng)建String對(duì)象
//構(gòu)造一個(gè)空字符串,相當(dāng)于String s1="";
String s1=new String();
System.out.println("s1的長(zhǎng)度="+s1.length()+",s1="+s1);
//構(gòu)造一個(gè)由內(nèi)容的字符串,相當(dāng)于String s1 = "一一哥";
String s2 = new String("跟一一哥學(xué)Java");
System.out.println("s2的長(zhǎng)度="+s2.length()+",s2="+s2);
//通過(guò)字節(jié)數(shù)組構(gòu)建字符串對(duì)象
byte[] b = {97,98,99,100};
String s3=new String(b);
System.out.println("s3的長(zhǎng)度="+s3.length()+",s3="+s3);
//通過(guò)字節(jié)數(shù)組構(gòu)建字符串對(duì)象
//參數(shù)1:字節(jié)數(shù)組;參數(shù)2:起始下標(biāo);參數(shù)3:長(zhǎng)度
String s4 = new String(b, 0, b.length);
System.out.println("s4的長(zhǎng)度="+s4.length()+",s4="+s4);
//通過(guò)字符數(shù)組創(chuàng)建字符串對(duì)象
char[] c = {'一','一','哥'};
String s5 = new String(c, 0, c.length);
System.out.println("s5的長(zhǎng)度="+s5.length()+",s5="+s5);
}
}3.2 直接賦值定義
下面是通過(guò)直接賦值的方式來(lái)定義String對(duì)象的方式,大家可以參考:
/**
* @author 一一哥Sun
* 千鋒教育
*/
public class Demo02 {
public static void main(String[] args) {
//直接賦值的方式創(chuàng)建String對(duì)象
//注意:null表示String對(duì)象為空,而""表示一個(gè)長(zhǎng)度為零、內(nèi)容為空的空字符串對(duì)象,但該對(duì)象不為空
//定義一個(gè)值為null的空字符串
String s1=null;
System.out.println("s1="+s1);
//定義一個(gè)內(nèi)容為空,長(zhǎng)度為零的字符串
String s2 = "";
System.out.println("s2的長(zhǎng)度="+s2.length()+",s22="+s2);
//定義一個(gè)帶有內(nèi)容的字符串
String s3 = "一一哥";
System.out.println("s3的長(zhǎng)度="+s3.length()+",s3="+s3);
}
}我們要注意String s=null與String s=""的區(qū)別:
String s=null表示String對(duì)象為空,即字符串對(duì)象的引用指向了null,還沒(méi)有指向任何的內(nèi)存空間;String s=""是聲明了一個(gè)字符串類(lèi)型的引用,其值為"",表示是一個(gè)長(zhǎng)度為零、內(nèi)容為空的空字符串對(duì)象,但該對(duì)象不為空! 這個(gè)s對(duì)象的引用指向的是空字符串的內(nèi)存空間。
以上內(nèi)容,是對(duì)字符串定義和使用的常規(guī)操作,但實(shí)際上String字符串還有其他很多有用的方法,接下來(lái)壹哥就專(zhuān)門(mén)給大家介紹一下這些實(shí)用方法。
二. 字符串實(shí)用方法
1. 字符串的比較方法
在Java中,如果我們想比較兩個(gè)字符串,其實(shí)主要是比較兩個(gè)字符串的內(nèi)容是否相同,所以應(yīng)該使用 equals() 方法,而不要使用 == 進(jìn)行比較。
/**
* @author 一一哥Sun
* 千鋒教育
*/
public class Demo04 {
public static void main(String[] args) {
String s1 = "hello";
String s2 = "hello";
//==用于比較兩個(gè)對(duì)象的地址
System.out.println("s1==s2的結(jié)果:"+(s1 == s2));
//equals()用于比較兩個(gè)對(duì)象的內(nèi)容
System.out.println("s1.equals(s2)的結(jié)果:"+s1.equals(s2));
}
}大家注意,在上面的案例中,雖然使用==和equals()比較的結(jié)果都是true,但實(shí)際上這只是”湊巧“罷了。在本案例中,之所以使用”==“進(jìn)行比較的結(jié)果也是true,這是因?yàn)镴ava編譯器在編譯期,自動(dòng)把所有相同內(nèi)容的字符串當(dāng)作一個(gè)對(duì)象放入到了字符串常量池。所以s1和s2都指向了同一個(gè)引用地址,結(jié)果自然就是相同的。但如果我們把上述案例換一種寫(xiě)法,再利用”==“進(jìn)行比較就不是這樣的結(jié)果。
/**
* @author 一一哥Sun
* 千鋒教育
*/
public class Demo04 {
public static void main(String[] args) {
//新的寫(xiě)法
String s3 = "yiyige";
//將字符串轉(zhuǎn)為小寫(xiě)
String s4 = "YIYIGE".toLowerCase();
//此時(shí)s3和s4是指向兩個(gè)不同引用地址的對(duì)象
System.out.println("s3==s4的結(jié)果:"+(s3 == s4));
System.out.println("s3.equals(s4)的結(jié)果:"+s3.equals(s4));
}
}從上面的案例中,我們可以得出一個(gè)結(jié)論,要想比較兩個(gè)字符串,應(yīng)該使用 equals() 方法,而不是"=="方法!
2. 判斷字符串是否為空
另外在前面的代碼案例中,壹哥還給大家介紹了兩種定義String字符串對(duì)象的方式,并在第2種方式中給大家提到了null與""兩種為空的情況。而我們?cè)趯?shí)際開(kāi)發(fā)中,判斷一個(gè)字符串對(duì)象是null與"",其實(shí)是一種非常常見(jiàn)的操作,那么我們?cè)撛趺磁袛郤tring對(duì)象是否是null或""呢?
/**
* @author 一一哥Sun
* 千鋒教育
*/
public class Demo03 {
public static void main(String[] args) {
//判斷字符串對(duì)象是否為null或""
//注意null表示String對(duì)象為空,而""表示是一個(gè)長(zhǎng)度為零、內(nèi)容為空的空字符串對(duì)象,但該對(duì)象不為空
//定義一個(gè)值為null的空字符串
String s1=null;
//判斷方式1:判斷對(duì)象是否為null
if(s1==null) {
System.out.println("s1字符串對(duì)象為null,s1="+s1);
}
//定義一個(gè)內(nèi)容為空,長(zhǎng)度為零的字符串
String s2 = "";
//判斷方式2:這種判斷寫(xiě)法存在異常隱患,字符串對(duì)象s2有可能為null,如果s2.equals()調(diào)用時(shí),s2可能為null,此時(shí)就會(huì)出現(xiàn)空指針異常
if(s2.equals("")) {
System.out.println("s2的長(zhǎng)度="+s2.length()+",s2="+s2);
}
//判斷方式3:對(duì)上面的判斷方式進(jìn)行改進(jìn),用以下方式進(jìn)行判斷,就會(huì)消除空指針異常的隱患
if("".equals(s2)) {
System.out.println("s2的長(zhǎng)度="+s2.length()+",s2="+s2);
}
//判斷方式4:判斷一個(gè)空串的長(zhǎng)度是否為0,這種判斷字符串是否為空的方式效率更高
if(s2.length()==0) {
//我們也可以直接使用字符串的isEmpty()方法,其內(nèi)部實(shí)現(xiàn)與此方式相同。
System.out.println("s2的長(zhǎng)度="+s2.length()+",s2="+s2);
}
//判斷方式5:更全面嚴(yán)謹(jǐn)?shù)呐袛?。s==null一定要寫(xiě)在前面,因?yàn)槿绻鹲為null,先調(diào)用后面的s.length()就會(huì)出現(xiàn)空指針異常
if(s2 == null || s2.length() == 0) {
System.out.println("s2的長(zhǎng)度="+s2.length()+",s2="+s2);
}
//判斷方式6:或者我們直接使用字符串的isBlank()方法
if(s2.isBlank()) {
System.out.println("s2的長(zhǎng)度="+s2.length()+",s2="+s2);
}
}
}在實(shí)際開(kāi)發(fā)時(shí),我們一般是采用第5種判斷方式,這種判斷方式更為嚴(yán)謹(jǐn),能夠把兩種”為空“的情況都考慮到。當(dāng)然,我們也可以直接使用字符串對(duì)象提供的isEmpty()或isBlank()方法,進(jìn)行判空。另外我們要特別注意,防止出現(xiàn)空指針異常,并且也要考慮采用哪種方式判斷為空的情況效率更高。
3. 判斷相關(guān)的方法
String字符串中提供了幾個(gè)與字符串判斷相關(guān)的方法,可以對(duì)一個(gè)字符串進(jìn)行各種判斷,這幾個(gè)方法如下:
- equals(): 判斷兩個(gè)字符串的內(nèi)容是否相同;
- equalsIgnoreCase(): 判斷兩個(gè)字符串是否相等,忽略大小寫(xiě);
- isEmpty(): 判斷字符串是否為空串"",主要是判斷字符串長(zhǎng)度是否為0;
- isBlank(): 判斷字符串是否為空串"",主要是判斷字符串中是否包含空白字符;
- startsWith(): 判斷字符串是否以指定的字符串開(kāi)頭;
- endsWith(): 判斷字符串是否以指定的字符串結(jié)尾;
- contains(): 判斷字符串中是否包含指定的字符串,參數(shù)是CharSequence類(lèi)型,而不是String。
/**
* @author 一一哥Sun
* 千鋒教育
*/
public class Demo05 {
public static void main(String[] args) {
String s1 = "yiyige";
//判斷兩個(gè)字符串的內(nèi)容是否相同
System.out.println("yiYige".equals(s1));
//判斷兩個(gè)字符串是否相等,忽略大小寫(xiě)
System.out.println("yiyige".equalsIgnoreCase(s1));
//判斷字符串是否為空,或是否有空白字符
//長(zhǎng)度為0,字符串為空
String s2="";
//長(zhǎng)度不是0,字符串不為空
String s3=" ";
//長(zhǎng)度不是0,字符串不為空
String s4=" \n";
//判斷字符串是否為空串""
System.out.println("s2為空嗎?"+s2.isEmpty());//true
System.out.println("s3為空嗎?"+s3.isEmpty());//false
System.out.println("s4為空嗎?"+s4.isEmpty());//false
//判斷字符串是否是空串或有空白字符
System.out.println("s2為空嗎?"+s2.isBlank());//true
System.out.println("s3為空嗎?"+s3.isBlank());//true
System.out.println("s4為空嗎?"+s4.isBlank());//true
String s5 = "1234567890123";
//判斷字符串是否以指定的字符開(kāi)頭
System.out.println(s5.startsWith("12"));
//判斷字符串是否以指定的字符串開(kāi)頭,并指定開(kāi)始位置
System.out.println(s5.startsWith("34", 2));
//判斷字符串是否以指定的字符串結(jié)尾
System.out.println(s5.endsWith("23"));
//判斷字符串中是否包含指定的字符串
System.out.println(s5.contains("SB"));
}
}4. 獲取相關(guān)的方法
String字符串中提供了幾個(gè)與字符串獲取相關(guān)的方法,這幾個(gè)方法如下:
- charAt(): 獲取指定下標(biāo)位置上對(duì)應(yīng)的字符,并返回char類(lèi)型;
- indexOf(): 獲取指定字符串在原字符串中的下標(biāo)索引位置,如果不包含該字符串則返回-1;
- lastIndexOf() :該方法與indexOf()類(lèi)似,但該方法是從后往前找,找到指定字符最后出現(xiàn)的位置;
- length(): 該方法用于返回字符串對(duì)象中包含的字符數(shù)量,即可以獲取字符串的長(zhǎng)度。
/**
* @author 一一哥Sun
* 千鋒教育
*/
public class Demo06 {
public static void main(String[] args) {
String s1 = "abcn12c3fcds";
//charAt(index),獲取指定下標(biāo)位置上對(duì)應(yīng)的字符,并返回char類(lèi)型
System.out.println("下標(biāo)索引位置3上的字符是:"+s1.charAt(3));
//indexOf("字符串"),獲取指定字符串在原字符串中的下標(biāo)位置,如果不包含該字符串則返回-1
System.out.println("字符串的索引位置是:"+s1.indexOf("cn2"));
//lastIndexOf("字符串"),與indexOf()方法類(lèi)似,區(qū)別是該方法是從后往前找,找到指定字符最后出現(xiàn)的位置
System.out.println("指定字符的索引為:"+s1.lastIndexOf("c"));
//length(),獲取字符串的長(zhǎng)度
System.out.println("字符串的長(zhǎng)度是:"+s1.length());
}
}5. 拼接、替換、截取、分割、去空格等方法
String字符串中提供了拼接、替換、截取、分割等方法,這幾個(gè)方法如下:
- concat(): 將某個(gè)字符串連接到該字符串的結(jié)尾,并返回拼接后的字符串,相當(dāng)于s1 = s1 + "world";
- join(): 用指定的字符串連接字符串?dāng)?shù)組;
- replace(): 將字符串中指定的字符串替換成指定的字符串;
- replaceAll() :利用正則表達(dá)式,將字符串中指定的字符串替換成指定的字符串;
- substring(start,end): 字符串截取,從指定的下標(biāo)索引開(kāi)始和結(jié)束,范圍是左閉右開(kāi),注意索引是從0開(kāi)始;
- substring(index) : 字符串截取,從指定的索引下標(biāo)開(kāi)始一直截取到字符串的最后;
- split(): 字符串切割,按照指定的字符串對(duì)原字符串進(jìn)行切割;
- trim() :不改變?cè)凶址畠?nèi)容,只是去除字符串首尾的空白字符,包括空格、\t、\r、\n。
/**
* @author 一一哥Sun
* 千鋒教育
*/
public class Demo07 {
public static void main(String[] args) {
//用指定的字符串連接字符串?dāng)?shù)組
String[] arr = {"A", "B", "C"};
String str = String.join("***", arr); // "A***B***C"
System.out.println("新的字符串str="+str);
String s1 = "hello,SB";
//將字符串與指定的字符串進(jìn)行拼接,相當(dāng)于s1 = s1 + "world";
s1 = s1.concat("world");
System.out.println("新的字符串="+s1);
//字符串替換:將字符串中指定的字符串替換成指定的字符串
s1 = s1.replace("SB", "**");
System.out.println("新的字符串="+s1);
String s2 = "A,,B;C ,D";
//利用正則表達(dá)式,將字符串中指定的字符串替換成指定的字符串;
//通過(guò)正則表達(dá)式,把匹配的子串統(tǒng)一替換為","
s2 = s2.replaceAll("[\,\;\s]+", ","); // "A,B,C,D"
System.out.println("新的字符串s2="+s2);
//字符串截取,從指定的下標(biāo)開(kāi)始和結(jié)束,范圍是左閉右開(kāi)
s1 = s1.substring(0, 5);
System.out.println("新的字符串="+s1);
//字符串截取,從指定的下標(biāo)開(kāi)始一直截取到字符串的最后。
//注意:StringIndexOutOfBoundsException
s1 = s1.substring(3);
System.out.println("新的字符串="+s1);
//字符串切割,按照指定的字符串對(duì)原字符串進(jìn)行切割
String s2 = "zhangsan-lisi-wangwu";
//利用指定的分隔符進(jìn)行分割
String[] s = s2.split("-");
System.out.println(Arrays.toString(s));
//去除字符串前后的空格
String s3 = " 你好, 哈哈 ";
s3 = s3.trim();
System.out.println("新的字符串s3="+s3);
}
}6. 大小寫(xiě)轉(zhuǎn)換的方法
String字符串中提供了將字符串轉(zhuǎn)為小寫(xiě)、大寫(xiě)等方法,這幾個(gè)方法如下:
- toUpperCase(): 將字符串中的字母都變成大寫(xiě);
- toLowerCase(): 將字符串中的字母都變成小寫(xiě)。
/**
* @author 一一哥Sun
* 千鋒教育
*/
public class Demo08 {
public static void main(String[] args) {
String s1 = "abcADC你好123";
//將字符串中的字母變成大寫(xiě)
System.out.println("轉(zhuǎn)換后新的字符串="+s1.toUpperCase());
//將字符串中的字母變成小寫(xiě)
System.out.println("轉(zhuǎn)換后新的字符串="+s1.toLowerCase());
}
}7. 字符串轉(zhuǎn)數(shù)組的方法
String字符串中提供了將字符串轉(zhuǎn)為字節(jié)、字符數(shù)組的方法,這幾個(gè)方法如下:
- getBytes(): 將字符串轉(zhuǎn)變成字節(jié)數(shù)組;
- toCharArray(): 將字符串變成字符數(shù)組。
/**
* @author 一一哥Sun
* 千鋒教育
*/
public class Demo08 {
public static void main(String[] args) {
String s1 = "abcd你好";
//將字符串轉(zhuǎn)變成字節(jié)數(shù)組
byte[] b = s1.getBytes();
System.out.println(Arrays.toString(b));
//將字符串變成字符數(shù)組
char[] c = s1.toCharArray();
System.out.println(Arrays.toString(c));
}
}8. 其他類(lèi)型轉(zhuǎn)字符串的方式
我們可以利用如下幾種方式將其他類(lèi)型轉(zhuǎn)為String字符串:
- 利用"+"號(hào)拼接: 通過(guò)拼接得到一個(gè)新的字符串對(duì)象;
- valueOf()方法: 將其他的類(lèi)型的數(shù)據(jù)轉(zhuǎn)換成String類(lèi)型;
- 構(gòu)造方法:也可以使用字符串對(duì)應(yīng)的構(gòu)造方法,將字節(jié)、字符數(shù)組類(lèi)型轉(zhuǎn)為字符串對(duì)象,效率較低。
/**
* @author 一一哥Sun
* 千鋒教育
*/
public class Demo08 {
public static void main(String[] args) {
//其他類(lèi)型轉(zhuǎn)字符串的方式
int i = 10;
//方式1:利用+號(hào)進(jìn)行轉(zhuǎn)換
String s1 = i+"";
System.out.println("整形轉(zhuǎn)字符串s1="+s1);
//方式2:將其他的類(lèi)型的數(shù)據(jù)轉(zhuǎn)換成String類(lèi)型
String s2 = String.valueOf(i);
System.out.println("整形轉(zhuǎn)字符串s2="+s2);
//方式3:將字節(jié)數(shù)組轉(zhuǎn)為字符串
byte[] nums= {97, 98, 99, 100};
String s3=new String(nums);
System.out.println("整形轉(zhuǎn)字符串s3="+s3);
}
}9. 格式化字符串的方法
除了以上這些方法之外,String還提供了幾個(gè)可以用于格式化字符串的方法,如下:
- format(): 可以將字符串進(jìn)行格式化操作。
/**
* @author 一一哥Sun
* 千鋒教育
*/
public class Demo09 {
public static void main(String[] args) {
//實(shí)例方法:String對(duì)象.format()
//%d、%s、%.2f都是占位符
String s = "恭喜你,%s, 你的得分是:%d!";
System.out.println(s.formatted("壹壹哥", 99));
//靜態(tài)方法:String類(lèi).format()
System.out.println(String.format("恭喜你,%s, 你的成績(jī)是:%.2f!", "一一哥2", 46.5));
}
}在上面的案例中,涉及到了幾個(gè)占位符,主要是配合參數(shù)進(jìn)行格式化。當(dāng)使用占位符時(shí),就需要參數(shù)類(lèi)型要和占位符要求的一致。常用的占位符含義如下:
- %s : 表示字符串;
- %d : 表示整數(shù);
- %x : 表示十六進(jìn)制整數(shù);
- %f : 表示浮點(diǎn)數(shù)。
另外占位符還可以帶格式,例如%.2f是表示顯示兩位小數(shù)。如果你不確定到底該用哪個(gè)占位符,可以選擇使用%s,因?yàn)?s可以顯示任何數(shù)據(jù)類(lèi)型。
以上這些方法,就是String字符串中的一些常用方法,當(dāng)然并不是全部的方法。
三. 結(jié)語(yǔ)
至此,String字符串對(duì)象的定義方式,以及String類(lèi)中常用的API方法給大家介紹完了,我們要掌握本文的重點(diǎn)內(nèi)容,比如:
- 掌握String對(duì)象的定義方式;
- 掌握字符串對(duì)象的比較方式;
- 掌握字符串判空的方式及方法;
- 了解java中的常用占位符;
- 掌握其他重要方法。
以上就是Java之一文詳解String字符串的用法的詳細(xì)內(nèi)容,更多關(guān)于Java String字符串用法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
利用logback 設(shè)置不同包下的日志級(jí)別
這篇文章主要介紹了利用logback 設(shè)置不同包下的日志級(jí)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
RocketMQ的push消費(fèi)方式實(shí)現(xiàn)示例
這篇文章主要為大家介紹了RocketMQ的push消費(fèi)方式實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2022-08-08
spring 操作elasticsearch查詢(xún)使用方法
本篇文章主要介紹了spring 操作elasticsearch使用方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
Java中transient關(guān)鍵字的詳細(xì)總結(jié)
本文要介紹的是Java中的transient關(guān)鍵字,transient是短暫的意思。對(duì)于transient 修飾的成員變量,在類(lèi)的實(shí)例對(duì)象的序列化處理過(guò)程中會(huì)被忽略,感興趣的朋友可以參考閱讀2023-04-04

