程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java intern()方法,javaintern方法

Java intern()方法,javaintern方法

編輯:JAVA綜合教程

Java intern()方法,javaintern方法


intern()方法:

public String intern()

JDK源代碼如下圖:

返回字符串對象的規范化表示形式。

一個初始時為空的字符串池,它由類 String 私有地維護。

當調用 intern 方法時,如果池已經包含一個等於此 String 對象的字符串(該對象由 equals(Object) 方法確定),

則返回池中的字符串。否則,將此 String 對象添加到池中,並且返回此 String 對象的引用。

它遵循對於任何兩個字符串 s 和 t,當且僅當 s.equals(t) 為 true 時,s.intern() == t.intern() 才為 true。

所有字面值字符串和字符串賦值表達式都是內部的。

返回:

一個字符串,內容與此字符串相同,但它保證來自字符串池中。

盡管在輸出中調用intern方法並沒有什麼效果,但是實際上後台這個方法會做一系列的動作和操作。

在調用”ab”.intern()方法的時候會返回”ab”,但是這個方法會首先檢查字符串池中是否有”ab”這個字符串,

如果存在則返回這個字符串的引用,否則就將這個字符串添加到字符串池中,然會返回這個字符串的引用。

例如:

public class Str2{
	
	public static void test(){
		String a="a";
		String b=a+"b";
		String c="ab";
		String d=new String (b);
		
		System.out.println(b==c);
		System.out.println(d==c);
		System.out.println(c==d.intern());
		System.out.println(b.intern()==d.intern());
	}
	public static void main(String []args){
		new Str2().test();
	}
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved