Những điều bạn cần biết về cách sử dụng chuỗi trong Java

Những điều bạn cần biết về cách sử dụng chuỗi trong Java

Khi bạn bắt đầu học Java, lớp String sẽ thu hút sự chú ý của bạn, nhờ vào các thuộc tính độc đáo của nó.





Bạn có thể tạo và thao tác các chuỗi trong Java dễ dàng hơn các ngôn ngữ khác. Đó là bởi vì lớp Chuỗi cung cấp các tính năng khác nhau.





Dựa trên các tính năng này, có một số phương pháp để tạo và chỉnh sửa chuỗi tùy thuộc vào sở thích và nhu cầu của bạn. Tương tự, nhiều thứ sẽ phụ thuộc vào ứng dụng của bạn và nơi các chuỗi cần được sử dụng.





Các chuỗi Java khác nhau như thế nào?

Nếu trước đây bạn đã làm việc với ngôn ngữ C, bạn biết rằng các chuỗi trong C là một mảng ký tự (nhân vật). Mặt khác, các chuỗi Java là bất biến và chứa các ký tự Unicode.

tôi có thể chơi trò chơi ps3 trên ps4 của tôi không

Một trong những tính năng chính làm cho chuỗi trong Java trở nên độc đáo là nối. Chỉ cần sử dụng toán tử cộng + để nối hai hoặc nhiều chuỗi. Đây là điều bạn không thể làm với các đối tượng Java khác, chẳng hạn như Chỉ trỏ hoặc Khoanh tròn .



Ngoài ra, như đã đề cập trước đây, Chuỗi Java là bất biến, tức là bạn không thể sửa đổi chúng. Ví dụ, các phương pháp như Đến trường hợp trên()toLowerCase () tạo một chuỗi hoàn toàn mới, thay vì thực hiện các thay đổi đối với nội dung chuỗi hiện có. Bây giờ mã của bạn sẽ trả về chuỗi mới được tạo này.

Liên quan: Cách thao tác văn bản trong PHP với các hàm này





Một lĩnh vực khác mà các chuỗi khác nhau là khi sử dụng các ký tự null để kết thúc chuỗi trong các ngôn ngữ như C. Trong Java, chuỗi là các đối tượng được hỗ trợ bởi các mảng ký tự. Nếu bạn đang muốn đọc nội dung chuỗi của mình theo cách các mảng ký tự thể hiện chúng, hãy sử dụng toCharArray () phương pháp sẽ thực hiện công việc.

So sánh các chuỗi trong Java cũng thuận tiện hơn so với các ngôn ngữ lập trình khác. Thay vì viết một khối mã dài dòng để so sánh các chuỗi, bạn có thể sử dụng bằng () phương pháp để so sánh hai hoặc nhiều chuỗi được sử dụng trong bất kỳ chương trình nào. Điều này chủ yếu là do, trong Java, bằng Phương thức bị ghi đè bởi lớp String, điều này làm cho việc so sánh chuỗi trở thành một miếng bánh.





Một lưu ý tương tự, việc tìm kiếm trong các chuỗi con trong Java cũng không phức tạp. Trong khi sử dụng biểu thức chính quy hoặc các phương pháp như lastIndexOf ()Chỉ số(), bạn có thể tìm kiếm các phân đoạn của chuỗi và trả về giá trị sau khi xác định được kết quả phù hợp. Bạn cũng có thể sử dụng biểu thức chính quy để cắt và chia các chuỗi khác nhau và sử dụng chúng riêng lẻ cho nhiều mục đích sử dụng trong bất kỳ chương trình nào.

Làm thế nào các chuỗi được lưu trữ trong bộ nhớ?

Bây giờ bạn đã biết điều gì làm cho các chuỗi trong Java trở nên khác biệt và có lợi, hãy cùng khám phá lớp String. Nếu bạn biết một hoặc hai điều về quản lý bộ nhớ trong Java, thì bạn hẳn đã xử lý được hai thực thể chính của nó: heap và stack.

Ngăn xếp được sử dụng để thực thi các quy trình và hoạt động sau khi được gọi bởi một chương trình Java, trong khi heap lưu trữ nội dung - cần thiết để chạy và thực thi mã một cách hiệu quả. Vì vậy, quản lý bộ nhớ có liên quan như thế nào trong trường hợp chuỗi?

Đó là bởi vì lớp String và các ký tự chuỗi trong Java nhận được cách xử lý khác nhau. Điều này chỉ ra rằng các ký tự chuỗi được gán không gian lưu trữ duy nhất trong bộ nhớ heap, được gọi là Nhóm Hằng số Chuỗi. Do đó, bất cứ khi nào bạn sử dụng các ký tự chuỗi để tạo các đối tượng chuỗi trong Java, Nhóm Hằng số Chuỗi sẽ lưu trữ chúng.

Ngược lại, khi bạn sử dụng Mới từ khóa để tạo các đối tượng chuỗi, Java sẽ xử lý chúng giống như bất kỳ đối tượng nào khác và gửi chúng vào heap để lưu trữ.

Ví dụ về chữ viết chuỗi

Bây giờ bạn đã biết đủ về các đối tượng chuỗi, hãy xem qua một ví dụ về các ký tự chuỗi:


public class muostrings {
public static void main(String args[])
{
String himuo = 'Hello World from MUO';
System. out .println (himuo);
}
}

Ở đây, chuỗi theo nghĩa đen đã tạo đối tượng String với nội dung Hello World từ MUO. Java sẽ gửi đối tượng này đến String Constant Pool.

Sử dụng Từ khoá Mới

Bạn cũng có thể sử dụng Mới từ khóa để tạo các đối tượng Chuỗi.

Đối tượng chuỗi của chuỗi heuo có nội dung Xin chào Thế giới từ MUO đã được tạo bởi một chuỗi ký tự và sẽ được gửi đến Nhóm Hằng số Chuỗi. Tương tự, các đối tượng chuỗi cũng có thể được tạo bằng từ khóa mới như sau:


public class muostringsobj {
public static void main(String args[]) {
char [] strArr = { 'M', 'O', 'U'};
String jStr = new String(strArr);
System. out .println( jStr );
}
}

Ví dụ trên sử dụng Mới từ khóa để tạo một đối tượng chuỗi. Như đã giải thích trước đây, chúng được gửi đến heap, nơi chúng được lưu trữ cùng với các biến và đối tượng khác đang chờ chương trình thực thi.

Đến đây, chắc hẳn bạn đang tò mò về String Constant Pool, và đúng như vậy. Nó phân bổ không gian nhóm cho các đối tượng dựa trên nội dung của đối tượng chuỗi. Sau khi String Constant Pool nhận các đối tượng, nó sẽ kiểm tra chúng để xác minh xem hai đối tượng có chứa chính xác nội dung giống nhau hay không.

Hai đối tượng chuỗi có thể lưu trữ nội dung giống nhau không?

Khi một chuỗi ký tự được sử dụng để tạo một đối tượng mới, Máy ảo Java (JVM) sẽ xem xét nội dung đối tượng và đánh giá xem nó đã tồn tại trong nhóm chưa. Khi một đối tượng chứa nội dung đã có trong nhóm, thì tham chiếu của đối tượng sẽ được trả về mà không cần tạo đối tượng mới. Nếu bạn phải tạo đối tượng mới, bạn phải đảm bảo rằng nội dung là khác biệt và duy nhất.

Tuy nhiên, nếu bạn sử dụng Mới từ khóa để tạo một chuỗi mới, nó sẽ được xử lý theo cách khác. Khi bạn sử dụng Mới từ khóa để tạo một chuỗi mới, nó sẽ được tạo, bất kể nó có chứa cùng nội dung với chuỗi hiện có hay không.

Điều này chỉ ra rằng hai đối tượng chuỗi hiện có được lưu trữ trong bộ nhớ heap được phép bao gồm các nội dung giống nhau; điều này khác với các đối tượng chuỗi được lưu trữ trong Nhóm hằng số chuỗi. Bạn cũng có thể chứng minh điều này bằng toán tử ==; nó trả về true nếu hai đối tượng có cùng địa chỉ vật lý được so sánh.


public class comparingStrngs {
public static void main(String[] args)
{
String firstLiteral = 'muo1';
String secondLiteral = 'muo1';
System. out .println(firstLiteral == secondLiteral);
String firstKeyword = new String('muo2');
String secondKeyword = new String('muo2');
System. out .println(firstKeyword == secondKeyword);
}
}

Bây giờ bạn có thể hiểu chuỗi trong Java một cách dễ dàng

Trong bài viết này, bạn đã biết các chuỗi trong Java khác nhau như thế nào, cách sử dụng chuỗi trong Java, quản lý bộ nhớ của chuỗi trong Java và các chi tiết quan trọng khác về cách hoạt động của chuỗi. Để kiểm tra sự hiểu biết của bạn, tại sao không viết một chương trình Java để nối hai chuỗi?

Đăng lại Đăng lại tiếng riu ríu E-mail Học Python? Đây là cách thao tác chuỗi

Việc sử dụng và thao tác các chuỗi trong Python có thể có vẻ khó khăn, nhưng nó rất đơn giản.

Đọc tiếp
Chủ đề liên quan
  • Lập trình
  • Java
Giới thiệu về tác giả Usman Ghani(4 bài báo đã xuất bản)

Usman là một nhà tiếp thị nội dung, người đã giúp một số doanh nghiệp tăng trưởng hữu cơ trên các nền tảng kỹ thuật số. Anh ấy thích cả lập trình và viết lách, có nghĩa là viết kỹ thuật là thứ anh ấy rất thích. Khi không làm việc, Usman thích dành thời gian xem các chương trình truyền hình, theo dõi cricket và đọc về phân tích dữ liệu.

Xem thêm từ Usman Ghani

Theo dõi bản tin của chúng tôi

Tham gia bản tin của chúng tôi để biết các mẹo công nghệ, đánh giá, sách điện tử miễn phí và các ưu đãi độc quyền!

Bấm vào đây để đăng ký