Java - Lớp chuỗi

Chuỗi, được sử dụng rộng rãi trong lập trình Java, là một chuỗi các ký tự. Trong ngôn ngữ lập trình Java, các chuỗi được coi như các đối tượng.

Nền tảng Java cung cấp lớp String để tạo và thao tác với các chuỗi.

Tạo chuỗi

Cách trực tiếp nhất để tạo một chuỗi là viết:

String greeting = "Hello world!";

Bất cứ khi nào nó gặp một chuỗi ký tự trong mã của bạn, trình biên dịch sẽ tạo một đối tượng Chuỗi với giá trị của nó trong trường hợp này là "Hello world!".

Như với bất kỳ đối tượng nào khác, bạn có thể tạo các đối tượng Chuỗi bằng cách sử dụng từ khóa mới và một hàm tạo. Lớp String có 11 hàm tạo cho phép bạn cung cấp giá trị ban đầu của chuỗi bằng các nguồn khác nhau, chẳng hạn như một mảng ký tự.

Thí dụ

public class StringDemo {

   public static void main(String args[]) {
      char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
      String helloString = new String(helloArray);  
      System.out.println( helloString );
   }
}

Điều này sẽ tạo ra kết quả sau:

Đầu ra

hello.

Note- Lớp String là bất biến, vì vậy khi nó được tạo ra, một đối tượng String không thể thay đổi. Nếu cần thiết phải thực hiện nhiều sửa đổi đối với Chuỗi ký tự, thì bạn nên sử dụng Bộ đệm chuỗi & Lớp xây dựng chuỗi .

Chiều dài chuỗi

Các phương pháp được sử dụng để thu thập thông tin về một đối tượng được gọi là accessor methods. Một phương thức truy cập mà bạn có thể sử dụng với chuỗi là phương thức length (), trả về số ký tự có trong đối tượng chuỗi.

Chương trình sau đây là một ví dụ về length(), method String class.

Thí dụ

public class StringDemo {

   public static void main(String args[]) {
      String palindrome = "Dot saw I was Tod";
      int len = palindrome.length();
      System.out.println( "String Length is : " + len );
   }
}

Điều này sẽ tạo ra kết quả sau:

Đầu ra

String Length is : 17

Nối các chuỗi

Lớp String bao gồm một phương thức để nối hai chuỗi:

string1.concat(string2);

Điều này trả về một chuỗi mới là string1 với string2 được thêm vào ở cuối. Bạn cũng có thể sử dụng phương thức concat () với chuỗi ký tự, như trong -

"My name is ".concat("Zara");

Các chuỗi thường được nối với toán tử +, như trong -

"Hello," + " world" + "!"

kết quả là -

"Hello, world!"

Chúng ta hãy xem ví dụ sau:

Thí dụ

public class StringDemo {

   public static void main(String args[]) {
      String string1 = "saw I was ";
      System.out.println("Dot " + string1 + "Tod");
   }
}

Điều này sẽ tạo ra kết quả sau:

Đầu ra

Dot saw I was Tod

Tạo chuỗi định dạng

Bạn có các phương thức printf () và format () để in đầu ra với các số được định dạng. Lớp String có một phương thức lớp tương đương, format (), trả về một đối tượng String chứ không phải là một đối tượng PrintStream.

Sử dụng phương thức static format () của String cho phép bạn tạo một chuỗi được định dạng mà bạn có thể sử dụng lại, trái ngược với câu lệnh in một lần. Ví dụ, thay vì -

Thí dụ

System.out.printf("The value of the float variable is " +
                  "%f, while the value of the integer " +
                  "variable is %d, and the string " +
                  "is %s", floatVar, intVar, stringVar);

Bạn có thể viết -

String fs;
fs = String.format("The value of the float variable is " +
                   "%f, while the value of the integer " +
                   "variable is %d, and the string " +
                   "is %s", floatVar, intVar, stringVar);
System.out.println(fs);

Phương thức chuỗi

Đây là danh sách các phương thức được hỗ trợ bởi lớp String -

Sr.No. Phương pháp & Mô tả
1 char charAt (int index)

Trả về ký tự tại chỉ mục được chỉ định.

2 int CompareTo (Đối tượng o)

So sánh chuỗi này với một đối tượng khác.

3 int so sánhTo (Chuỗi khác Chuỗi)

So sánh hai chuỗi về mặt từ vựng.

4 int so sánhToIgnoreCase (Chuỗi str)

So sánh hai chuỗi theo từ điển, bỏ qua sự khác biệt về chữ hoa và chữ thường.

5 String concat (String str)

Nối chuỗi được chỉ định với phần cuối của chuỗi này.

6 boolean contentEquals (StringBuffer sb)

Trả về true nếu và chỉ khi Chuỗi này đại diện cho cùng một chuỗi ký tự với StringBuffer được chỉ định.

7 static String copyValueOf (dữ liệu char [])

Trả về một Chuỗi đại diện cho chuỗi ký tự trong mảng được chỉ định.

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

Trả về một Chuỗi đại diện cho chuỗi ký tự trong mảng được chỉ định.

9 boolean endWith (Hậu tố chuỗi)

Kiểm tra xem chuỗi này có kết thúc bằng hậu tố được chỉ định hay không.

10 boolean bằng (Đối tượng anObject)

So sánh chuỗi này với đối tượng được chỉ định.

11 boolean equalsIgnoreCase (Chuỗi khác Chuỗi)

So sánh Chuỗi này với Chuỗi khác, bỏ qua các cân nhắc về chữ hoa và chữ thường.

12 byte [] getBytes ()

Mã hóa Chuỗi này thành một chuỗi byte bằng cách sử dụng bộ ký tự mặc định của nền tảng, lưu trữ kết quả vào một mảng byte mới.

13 byte [] getBytes (String charsetName)

Mã hóa Chuỗi này thành một chuỗi byte bằng cách sử dụng bộ ký tự được đặt tên, lưu trữ kết quả vào một mảng byte mới.

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

Sao chép các ký tự từ chuỗi này vào mảng ký tự đích.

15 int hashCode ()

Trả về mã băm cho chuỗi này.

16 int indexOf (int ch)

Trả về chỉ mục trong chuỗi này của lần xuất hiện đầu tiên của ký tự được chỉ định.

17 int indexOf (int ch, int fromIndex)

Trả về chỉ mục trong chuỗi này của lần xuất hiện đầu tiên của ký tự được chỉ định, bắt đầu tìm kiếm tại chỉ mục được chỉ định.

18 int indexOf (Chuỗi str)

Trả về chỉ mục trong chuỗi này của lần xuất hiện đầu tiên của chuỗi con được chỉ định.

19 int indexOf (Chuỗi str, int fromIndex)

Trả về chỉ mục trong chuỗi này của lần xuất hiện đầu tiên của chuỗi con được chỉ định, bắt đầu từ chỉ mục được chỉ định.

20 String thực tập ()

Trả về một biểu diễn chính tắc cho đối tượng chuỗi.

21 int lastIndexOf (int ch)

Trả về chỉ mục trong chuỗi này về lần xuất hiện cuối cùng của ký tự được chỉ định.

22 int lastIndexOf (int ch, int fromIndex)

Trả về chỉ mục trong chuỗi này về lần xuất hiện cuối cùng của ký tự được chỉ định, tìm kiếm ngược bắt đầu từ chỉ mục đã chỉ định.

23 int lastIndexOf (Chuỗi str)

Trả về chỉ mục trong chuỗi này về lần xuất hiện ngoài cùng bên phải của chuỗi con được chỉ định.

24 int lastIndexOf (Chuỗi str, int fromIndex)

Trả về chỉ mục trong chuỗi này về lần xuất hiện cuối cùng của chuỗi con được chỉ định, tìm kiếm ngược lại bắt đầu từ chỉ mục đã chỉ định.

25 int length ()

Trả về độ dài của chuỗi này.

26 so khớp boolean (Chuỗi regex)

Cho biết chuỗi này có khớp với biểu thức chính quy đã cho hay không.

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

Kiểm tra xem hai vùng chuỗi có bằng nhau không.

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

Kiểm tra xem hai vùng chuỗi có bằng nhau không.

29 Thay thế chuỗi (char oldChar, char newChar)

Trả về một chuỗi mới do thay thế tất cả các lần xuất hiện của oldChar trong chuỗi này bằng newChar.

30 String ReplaceAll (String regex, String Replace

Thay thế từng chuỗi con của chuỗi này khớp với biểu thức chính quy đã cho bằng chuỗi thay thế đã cho.

31 Chuỗi thay thếFirst (Chuỗi regex, Thay thế chuỗi)

Thay thế chuỗi con đầu tiên của chuỗi này khớp với biểu thức chính quy đã cho bằng chuỗi thay thế đã cho.

32 Chuỗi [] tách (Chuỗi regex)

Tách chuỗi này xung quanh các trận đấu của biểu thức chính quy đã cho.

33 String [] split (String regex, int limit)

Tách chuỗi này xung quanh các trận đấu của biểu thức chính quy đã cho.

34 boolean startedWith (Tiền tố chuỗi)

Kiểm tra xem chuỗi này có bắt đầu bằng tiền tố được chỉ định hay không.

35 boolean startedWith (Tiền tố chuỗi, int toffset)

Kiểm tra xem chuỗi này có bắt đầu bằng tiền tố được chỉ định bắt đầu một chỉ mục được chỉ định hay không.

36 CharSequence subSequence (int beginIndex, int endIndex)

Trả về một chuỗi ký tự mới là một chuỗi con của chuỗi này.

37 Chuỗi con (int beginIndex)

Trả về một chuỗi mới là chuỗi con của chuỗi này.

38 Chuỗi con (int beginIndex, int endIndex)

Trả về một chuỗi mới là chuỗi con của chuỗi này.

39 char [] toCharArray ()

Chuyển đổi chuỗi này thành một mảng ký tự mới.

40 Chuỗi toLowerCase ()

Chuyển đổi tất cả các ký tự trong Chuỗi này thành chữ thường bằng cách sử dụng các quy tắc của ngôn ngữ mặc định.

41 String toLowerCase (Locale locale)

Chuyển đổi tất cả các ký tự trong Chuỗi này thành chữ thường bằng cách sử dụng các quy tắc của Ngôn ngữ đã cho.

42 Chuỗi toString ()

Đối tượng này (đã là một chuỗi!) Được trả về chính nó.

43 Chuỗi toUpperCase ()

Chuyển đổi tất cả các ký tự trong Chuỗi này thành chữ hoa bằng cách sử dụng các quy tắc của ngôn ngữ mặc định.

44 String toUpperCase (Locale locale)

Chuyển đổi tất cả các ký tự trong Chuỗi này thành chữ hoa bằng cách sử dụng các quy tắc của Ngôn ngữ đã cho.

45 String trim ()

Trả về bản sao của chuỗi, với khoảng trắng đầu và cuối bị bỏ qua.

46 static String valueOf (kiểu dữ liệu nguyên thủy x)

Trả về biểu diễn chuỗi của đối số kiểu dữ liệu đã truyền.