java之string的用法(java中string常用方法)

本文目錄一覽:

Java數組中string的用法

String a[ ]={“1″,”2″,”3″,”4”,null};

String b[ ]={“1″,”2″,”3″,”4”,’c’};

A是正確的。

null表示空指針,所以你可以理解它是沒有類型的,但也可以是任意類型的(任何指針都可以置null)。

而B中,當然不可以將一個字元類型(基本類型)賦值給一個字元串類型(類類型)。

Java的String用法

java中String類型的字面量(即「java」這個字元串)是存放在內存中的靜態存儲區,當程序執行到String a = “java”;該區域里就會生成一個字元串字面量「java」,執行String b = “java”;時,java對字元串的創建過程進行了優化,會先去該區域里尋找字面量為「java」的字元串,如果找到了,就把該字元串的引用指向到b,如果找不到就創建新的字元串「java」,所以a和b共用一個。加號(+)是字元串的一個連接方法,可以理解為String類的concat方法,String c = x +y;和String c = x.concat(y);效果是一樣的,變數c接受的是concat方法的返回值,是內存中「ja」和「va」連接後的對象,與前面的過程不是一碼事!如果還不理解,可以再問我!

java中的string用法

java中的string用法,可以到java api查找方法的使用方式:

class StringMethodDemo 

{

 public static void method_Zhuanhuan_Qukong_Bijiao()

 {

  String s = ”     hello Java    “;

  

  //列印結果是:(hello和java前後門都有空格)hello java

  sop(s.toUpperCase());

  //列印結果是:(HELLO和JAVA前後門都有空格)HELLO JAVA

  sop(s.toLowerCase());

  //列印及結果是:不帶空格的「hello java」

  sop(s.trim());

  //比較數的大寫,列印結果是:1,因為b對應ascii值是98,

  //a對應是97,所以b-a=1

  String s1 = “abc”;

  String s2 = “aaa”;

  sop(s1.compareTo(s2));

 }

 public static void method_sub()

 {

  String s = “abcdef”;

  //列印結果是:cdef,從指定位置開始到結尾。如果角標不存在,會出現字元串角標越界。

  sop(s.substring(2));

  //列印結果是:cd,包含頭,不包含尾。

  sop(s.substring(2,4));

 }

 public static void method_split()

 {

  String s = “zhangsan,lisi,wangwu”;

  String[] arr = s.split(“,”);

  for(int x=0; xarr.length; x++)

  {

   sop(arr[x]);

  }

 }

 public static void method_replace()

 {

  String s = “hello java”;

  //String s1 = s.replace(‘a’,’n’);

  //String s1 = s.replace(‘w’,’n’);  如果要替換的字元不存在,返回的還是原串

  

  String s1 = s.replace(“java”,”world”);//列印結果是:hello world

  sop(“s=”+s); //列印結果是:hello java因為字元串一旦被初始化,值就不可被改變

  sop(“s1=”+s1);//列印結果是:hello jnvn

 }

 public static void method_trans()

 {

  char[] arr = {‘a’,’b’,’c’,’d’,’e’,’f’};

  String s = new  String(arr,1,3);

  sop(“s=”+s);//列印結果是:bcd

  String s1 = “zxcvbnm”;

  char[] chs = s1.toCharArray();

  for(int x=0; xchs.length; x++)

  {

   sop(“ch=”+chs[x]);//列印結果是:ch=z,x,c,v,b,n,m

  }

 }

 public static void method_is()

 {

  String str = “ArrayDemo.java”;

 //判斷文件名稱是否是Array單詞開頭

  sop(str.startsWith(“Array”));

 

 //判斷文件名稱是否是.java的文件

  sop(str.endsWith(“.java”));

 

 //判斷文件中是否包含Demo

  sop(str.contains(“Demo”));

 }

 

 public static void method_get()

 {

  String str = “abcdeakpf”;

  //長度

  sop(str.length());

  //根據索引獲取字元

  sop(str.charAt(4));

  //sop(str.charAt(40));當訪問到字元串中不存在的角標時會發生StringIndexOutOfBoundsException(字元串角標越界異常)

  //根據字元獲取索引

  //sop(str.indexOf(‘a’));

  sop(str.indexOf(‘a’,3));//列印的是5,因為角標3是d,

        //所以從d後面開始找a,第5個角標是a

  //sop(str.indexOf(‘t’,3))列印:-1,如果沒有找到角標,返回-1

  

  //反向索引一個字元出現的位置(從右往左查找,但是角標還是從左開始)

  sop(str.lastIndexOf(“a”));

 }

 public static void main(String[] args) 

 {

   method_Zhuanhuan_Qukong_Bijiao();

  //method_sub();

  //method_split();

  //method_replace();  

  //method_trans(); 

  //method_is();

  //method_get();

  /*

  String s1 = “abc”;

  String s2 = new String(“abc”);

  String s3 = “abc”;

  System.out.println(s1==s2);

  System.out.println(s1==s3);

  */

 }

 public static void sop(Object obj)

 {

  System.out.println(obj);

 }

}

java中string類的方法有哪些?

方法摘要

char charAt(int index)

返回指定索引處的 char 值。

int codePointAt(int index)

返回指定索引處的字元(Unicode 代碼點)。

int codePointBefore(int index)

返回指定索引之前的字元(Unicode 代碼點)。

int codePointCount(int beginIndex, int endIndex)

返回此 String 的指定文本範圍中的 Unicode 代碼點數。

int compareTo(String anotherString)

按字典順序比較兩個字元串。

int compareToIgnoreCase(String str)

不考慮大小寫,按字典順序比較兩個字元串。

String concat(String str)

將指定字元串聯到此字元串的結尾。

boolean contains(CharSequence s)

當且僅當此字元串包含 char 值的指定序列時,才返回 true。

boolean contentEquals(CharSequence cs)

當且僅當此 String 表示與指定序列相同的 char 值時,才返回 true。

boolean contentEquals(StringBuffer sb)

當且僅當此 String 表示與指定的 StringBuffer 相同的字元序列時,才返回 true。

static String copyValueOf(char[] data)

返回指定數組中表示該字元序列的字元串。

static String copyValueOf(char[] data, int offset, int count)

返回指定數組中表示該字元序列的字元串。

boolean endsWith(String suffix)

測試此字元串是否以指定的後綴結束。

boolean equals(Object anObject)

比較此字元串與指定的對象。

boolean equalsIgnoreCase(String anotherString)

將此 String 與另一個 String 進行比較,不考慮大小寫。

static String format(Locale l, String format, Object… args)

使用指定的語言環境、格式字元串和參數返回一個格式化字元串。

static String format(String format, Object… args)

使用指定的格式字元串和參數返回一個格式化字元串。

byte[] getBytes()

使用平台默認的字符集將此 String 解碼為位元組序列,並將結果存儲到一個新的位元組數組中。

void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)

已過時。 該方法無法將字元正確轉換為位元組。從 JDK 1.1 起,完成該轉換的首選方法是通過 getBytes() 構造方法,該方法使用平台的默認字符集。

byte[] getBytes(String charsetName)

使用指定的字符集將此 String 解碼為位元組序列,並將結果存儲到一個新的位元組數組中。

void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

將字元從此字元串複製到目標字元數組。

int hashCode()

返回此字元串的哈希碼。

int indexOf(int ch)

返回指定字元在此字元串中第一次出現處的索引。

int indexOf(int ch, int fromIndex)

從指定的索引開始搜索,返回在此字元串中第一次出現指定字元處的索引。

int indexOf(String str)

返回第一次出現的指定子字元串在此字元串中的索引。

int indexOf(String str, int fromIndex)

從指定的索引處開始,返回第一次出現的指定子字元串在此字元串中的索引。

String intern()

返回字元串對象的規範化表示形式。

int lastIndexOf(int ch)

返回最後一次出現的指定字元在此字元串中的索引。

int lastIndexOf(int ch, int fromIndex)

從指定的索引處開始進行後向搜索,返回最後一次出現的指定字元在此字元串中的索引。

int lastIndexOf(String str)

返回在此字元串中最右邊出現的指定子字元串的索引。

int lastIndexOf(String str, int fromIndex)

從指定的索引處開始向後搜索,返回在此字元串中最後一次出現的指定子字元串的索引。

int length()

返回此字元串的長度。

boolean matches(String regex)

通知此字元串是否匹配給定的正則表達式。

int offsetByCodePoints(int index, int codePointOffset)

返回此 String 中從給定的 index 處偏移 codePointOffset 個代碼點的索引。

boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)

測試兩個字元串區域是否相等。

boolean regionMatches(int toffset, String other, int ooffset, int len)

測試兩個字元串區域是否相等。

String replace(char oldChar, char newChar)

返回一個新的字元串,它是通過用 newChar 替換此字元串中出現的所有 oldChar 而生成的。

String replace(CharSequence target, CharSequence replacement)

使用指定的字面值替換序列替換此字元串匹配字面值目標序列的每個子字元串。

String replaceAll(String regex, String replacement)

使用給定的 replacement 字元串替換此字元串匹配給定的正則表達式的每個子字元串。

String replaceFirst(String regex, String replacement)

使用給定的 replacement 字元串替換此字元串匹配給定的正則表達式的第一個子字元串。

String[] split(String regex)

根據給定的正則表達式的匹配來拆分此字元串。

String[] split(String regex, int limit)

根據匹配給定的正則表達式來拆分此字元串。

boolean startsWith(String prefix)

測試此字元串是否以指定的前綴開始。

boolean startsWith(String prefix, int toffset)

測試此字元串是否以指定前綴開始,該前綴以指定索引開始。

CharSequence subSequence(int beginIndex, int endIndex)

返回一個新的字元序列,它是此序列的一個子序列。

String substring(int beginIndex)

返回一個新的字元串,它是此字元串的一個子字元串。

String substring(int beginIndex, int endIndex)

返回一個新字元串,它是此字元串的一個子字元串。

char[] toCharArray()

將此字元串轉換為一個新的字元數組。

String toLowerCase()

使用默認語言環境的規則將此 String 中的所有字元都轉換為小寫。

String toLowerCase(Locale locale)

使用給定 Locale 的規則將此 String 中的所有字元都轉換為小寫。

String toString()

返回此對象本身(它已經是一個字元串!)。

String toUpperCase()

使用默認語言環境的規則將此 String 中的所有字元都轉換為大寫。

String toUpperCase(Locale locale)

使用給定的 Locale 規則將此 String 中的所有字元都轉換為大寫。

String trim()

返回字元串的副本,忽略前導空白和尾部空白。

static String valueOf(boolean b)

返回 boolean 參數的字元串表示形式。

static String valueOf(char c)

返回 char 參數的字元串表示形式。

static String valueOf(char[] data)

返回 char 數組參數的字元串表示形式。

static String valueOf(char[] data, int offset, int count)

返回 char 數組參數的特定子數組的字元串表示形式。

static String valueOf(double d)

返回 double 參數的字元串表示形式。

static String valueOf(float f)

返回 float 參數的字元串表示形式。

static String valueOf(int i)

返回 int 參數的字元串表示形式。

static String valueOf(long l)

返回 long 參數的字元串表示形式。

static String valueOf(Object obj)

返回 Object 參數的字元串表示形式。

從類 java.lang.Object 繼承的方法

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

java中string怎麼使用

當執行string

a=”abc”;時,java虛擬機會在棧中創建三個char型的值’a’、’b’和’c’,然後在堆中創建一個string對象,它的值(value)是剛才在棧中創建的三個char型值組成的數組{‘a’,’b’,’c’},最後這個新創建的string對象會被添加到字元串池中。如果我們接著執行string

b=new

string(”abc”);代碼,由於”abc”已經被創建並保存於字元串池中,因此java虛擬機只會在堆中新創建一個string對象,但是它的值(value)是共享前一行代碼執行時在棧中創建的三個char型值值’a’、’b’和’c’.

string

a=”abc”;

創建了一個對象

這個對象是在字元串池裡吧

而不是堆里

所以只創建了一個對象

而string

b=new

string(”abc”);在字元串常量池以及

堆里都有對象所以是兩個對象

string

a=”abc”;

在常量池中

new

string(”abc”);

在堆中

string

str1

=

“abc”;引用的對象在棧(或者叫string池)中。

string

str1

=new

string

(”abc”);

引用的對象在內存/堆中。

java 字元 string的 詳細用法

我也是菜鳥,盡量把答案表達清楚,不足之處請賜教

string1=”aaa”;

string2=”aaa”;

String

string3

=

new

String(“aaa”);

String

string4

=

new

String(“aaa”);

而在這四條語句中,

string1==string2;//成立

string1.equals(string2);//返回true

string3==string4;//false

string3.equals(string4);//返回true

弄明白這四個結果,這個問題就解決了

首先string1=”aaa”;和string2=”aaa”;

都指向常量池的同一個對象aaa;

其調用==和X.

equals(Y)方法其效果是一樣的

而String

string3

=

new

String(“aaa”);和

String

string4

=

new

String(“aaa”);是在heap堆中創建兩個新對象,他們引用的地址是不同的,從而使得==出現不相等的情況,而X.

equals(Y)當x和Y所引用的對象是同一類對象且屬性內容相等(並不一定是相同對象)時返回true,就出現了上面的結果。

原創文章,作者:SUJTN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330590.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SUJTN的頭像SUJTN
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29

發表回復

登錄後才能評論