首頁 > Java > java教程 > 主體

Java 中的字串

WBOY
發布: 2024-08-30 15:12:54
原創
672 人瀏覽過

字串是字元序列,但在java中,它們被視為物件並且本質上是不可變的; java 提供了java.lang.String 包,提供了不同的方法來操作字串,但我們也可以在java 中建立可變字串。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

如何在Java中定義字串?

我們可以使用字串文字和 new 關鍵字來定義它。但區別在於,文字不會創建新對象,除非並且直到它在字串池中不可用。然而,無論字串常數池如何,new關鍵字總是會創建新對象,因為它在堆區域中創建字串。

  • 可變字串
  • 不可變字串

如何在 Java 中建立字串?

在java中,我們可以使用以下兩種方式定義字串:

  • 透過使用字串文字
  • 使用新關鍵字

1.字串文字

我們使用literal建立的字串直接進入字串常數池。這意味著如果請求的字串已經存在於字串池中,那麼將傳回現有的字串,如果請求的字串不存在,則只會建立該字串的新實例並將其放入池中以供日後參考。 JVM 執行所有這些事情。

文法:

String s="abc";
String s1 = "abc" ;
登入後複製

在上述場景中,字串池中只會建立一個對象,因為JVM 將無法找到所請求的對象,因此它將創建該對象並將其放入池中,並且s1 將僅指向該引用以供進一步使用。因此,字串文字還可以透過不再創建相同的實例來節省記憶體。因此,它們使我們的程式碼記憶體效率更高。

2.新關鍵字

在java中,我們使用new關鍵字來建立一個新物件。每當我們使用 new 關鍵字時,它都會為我們建立一個新物件。另外,使用 new 關鍵字建立的物件會被放入堆記憶體區域。

文法:

String s = new Stirng("abc");
登入後複製

在上面的例子中,這個物件會被放入堆記憶體區域,而不是字串池,因為我們使用new關鍵字來建立它。

範例:

public class Main {
public static void main(String[] args) {
String s = "abc";
String s1 = "abc";
String ss = new String("abc");
System.out.println("Output will be :: " + s + " "+ s1 +" "+ ss);
}
}
登入後複製

輸出:

Java 中的字串

Java 中字串的規則和規定

它是不可變的,因此一旦分配我們就無法更改它的值。因此,為了創建可變字串,我們需要使用字串緩衝區。

需要記住的幾點:

  •  定義字串時,請確保它始終以雙引號引起來。
  • 它們是不可變的,即值一旦分配就無法更改。
  • ‘+’運算子可以連接兩個或多個字串。
  • 我們可以直接將字串指派給變量,而無需呼叫其建構子。

Java中String類別的方法

可用的各種方法如下:

  • 修剪()
  • 改為大寫
  • 轉小寫
  • valueOf(int 值)
  • toLowerCase(區域設定 l)
  • 實習生()
  • indexOf(int ch)
  • indexOf(String substring, int fromIndex)
  • indexOf(字串子字串)
  • split(字串正規表示式,int limit)
  • concat(字串 str)
  • indexOf(int ch, int fromIndex)
  • 長度()
  • 等於(反對另一個)
  • join(CharSequence 分隔符,Iterable extends CharSequence> 元素)
  • isEmpty()
  • 替換(舊字符,新字符)
  • equalsIgnoreCase(String another)
  • split(字串正規表示式)
  • 轉大寫(區域設定 l)
  • 包含(CharSequence)
  • charAt(int 索引)
  • 替換(CharSequence 舊,CharSequence 新)
  • join(CharSequence 分隔符號、CharSequence…元素)
  • 子字串(int beginIndex)
  • ubstring(int beginIndex, int endIndex)
  • java中的String類別實作了一個名為
  • 的不同接口
  • 可序列化
  • 可比
  • 字元序列

此外,字串類別也實作了一個接口,即 CharSequence 介面; StringBuilder和String Buffer也實作了這個介面。 StringBuffer和StringBuilder用於在java中建立可變字串。

範例 – 使用 StringBuffer

代碼:

public class Demo{
public static void main(String[] args) {
StringBuffer sb=new StringBuffer("creating string ");
sb.append("executed");//original string will get chnage
System.out.println("Result is " +sb);//it will print creating string executed
}
}
登入後複製

輸出:

Java 中的字串

範例 – 使用 StringBuilder

代碼:

public class Main{
public static void main(String[] args) {
StringBuilder sb=new StringBuilder("Creating string");
sb.append(" using string Builder");//original will get change
System.out.println("Result is "+sb);
}
}
登入後複製

輸出:

Java 中的字串

範例

以下是範例:

範例#1

代碼:

public class Main{
public static void main(String[] args) {
String s1="demoforsting";
System.out.println("String is " +s1.substring(2,4));
System.out.println( "with one parameter " +s1.substring(2));
}
}
登入後複製

輸出:

Java 中的字串

Example #2

Code:

public class Demo{
public static void main(String[] args) {
String s1="abc";
String s2="abc";
String s3="ABC";
String s4="java";
System.out.println("Result is " +s1.equals(s2));//true
System.out.println("Result is " +s1.equals(s3));//false
System.out.println("Result is " +s1.equals(s4));//false
}
}
登入後複製

Output:

Java 中的字串

Example #3

Code:

public class Demo{
public static void main(String[] args) {
String s1="convert it into uppercase";
String upper=s1.toUpperCase();
System.out.println("result is "+upper);
}
}
登入後複製

Output:

Java 中的字串

Example #4

Code:

public class Demo{
public static void main(String[] args) {
String s1="CONVERT IT INTO LOWER CASE";
String s1upper=s1.toLowerCase();
System.out.println("result is "+s1upper);
}
}
登入後複製

Output:

Java 中的字串

Example #5

Code:

public class Main{
public static void main(String[] args) {
String name="Demo to check contains method";
System.out.println("Result for conatins mehtod is " +name.contains("check"));
System.out.println("Result for conatins mehtod is " +name.contains("method"));
System.out.println("Result for conatins mehtod is " +name.contains("move"));
}
}
登入後複製

Output:

Java 中的字串

Example #6

Code:

public class Main{
public static void main(String[] args) {
String str1 = "Demo for";
String str2 = "Concat";
String str3 = "Method";
// doing for string one
String str4 = str1.concat(str2);
System.out.println("Result is "+str4);
// for multiple string
String str5 = str1.concat(str2).concat(str3);
System.out.println("Result is "+str5);
}
}
登入後複製

Output:

Java 中的字串

Example #7

Code:

public class Main {
public static void main(String[] args) {
String s1 =" Provide space to see use of trim method in java ";
System.out.println(s1.length());
System.out.println("without trim output is "+s1); //Not using trim here
String tr = s1.trim();
System.out.println(tr.length());
System.out.println("with trim output is "+tr); //using trim here
}
}
登入後複製

Output:

Java 中的字串

Conclusion

So java string is an immutable object that provides security in various aspects like URL reading, database username and password, port, and many other things. But if we want to create a mutable string, we should use a string buffer and builder.

以上是Java 中的字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板