2012-08-25 26 views
11

thể trùng lặp:
String's Maximum length in Java - calling length() methodCó giới hạn về kích thước chuỗi trong chương trình Java không?

Tôi đã một chuỗi định nghĩa là

Chuỗi xx

Có bất kỳ hạn số ký tự mà tôi có thể gán?

2) Tôi đang gán đầu vào của người dùng cho chuỗi này xx. 70% số lần mọi người chỉ đưa ra một từ. một số lần họ đưa ra một câu lớn vì vậy muốn biết là ok? hoặc là có bất kỳ thực hành java tốt hơn?

+1

@anio Ha, đánh bại tôi! – MadProgrammer

+1

Bạn thậm chí có thể nói ngắn gọn về Google này trước khi đăng không? Lần truy cập thứ hai cho 'giới hạn độ dài chuỗi java' là bản sao được liệt kê ở trên. –

+0

Nếu bạn phải hỏi, bạn đã làm điều sai trái. Chuỗi không được coi là vùng chứa. – EJP

Trả lời

35

Một câu hỏi phổ biến bạn có thể đã tìm kiếm nhưng tôi vẫn sẽ trả lời câu hỏi đó một lần nữa.

Có giới hạn nào về số ký tự mà tôi có thể gán không?

Integer.MAX_VALUE hoặc 2^31-1 hoặc khoảng 2 tỷ. Bạn có nhiều khả năng có vấn đề về bộ nhớ trước khi đạt đến kích thước này. ví dụ. Bạn cần 4 GB cho chuỗi và 4 GB để tạo ra nó.

Tôi đang gán đầu vào của người dùng cho chuỗi này xx. 70% số lần mọi người chỉ đưa ra một từ. một số lần họ đưa ra một câu lớn vì vậy muốn biết là ok?

Tôi nghi ngờ tất cả các công việc của J K Rowling sẽ phù hợp với một chuỗi.

hoặc có thực hành java nào tốt hơn không?

Tôi khuyên bạn nên giữ mọi thứ càng đơn giản càng tốt. Gán một tham chiếu String là đơn giản như nó được.

+0

Hãy nhớ rằng nếu kích thước heap, chia cho kích thước của 'char' (là 2), nhỏ hơn' Integer.MAX_VALUE', nó sẽ là giới hạn trên thay vào đó. – Eric

+0

@Eric Vì vậy, "nhiều hơn một câu" .. ;-) –

+0

@Eric Đúng, như tôi đã đề cập bạn cần 4 byte cho mỗi char bạn muốn trong chuỗi. (2 byte cho chuỗi và 2 byte để xây dựng nó) –

Các vấn đề liên quan