2011-10-31 27 views
12

Tôi có một nghi ngờ. Khi chúng tôi sử dụng ArrayList hoặc HashMap trong Java, chúng tôi phải nhập java.util.ArrayList hoặc java.util.HashMap. Nhưng khi chúng tôi sử dụng String, nó không yêu cầu tuyên bố import. Bất cứ ai có thể làm rõ, tại sao?Nhập chuỗi Java

+1

bạn đã đúng :) –

+0

Cảm ơn @Nathan Quirynen .. bạn muốn nói gói java.lang được nhập trước trong chương trình và tôi không cần phải nhập một cách rõ ràng ????? –

+0

Tôi có nghĩa là bạn không cần phải nghi ngờ; Tôi biết, không phải câu trả lời hữu ích nhất:> –

Trả lời

9

Mọi thứ trong gói java.lang được nhập hoàn toàn (bao gồm cả chuỗi) và bạn không cần phải tự làm như vậy. Đây chỉ đơn giản là một tính năng của ngôn ngữ Java. Tuy nhiên, ArrayList và HashMap trong gói java.util, không được nhập hoàn toàn.

Gói java.lang chủ yếu bao gồm các tính năng cần thiết, một phiên bản lớp học nguyên thủy, ngoại lệ cơ bản và lớp Object. Điều này là không thể thiếu đối với hầu hết các chương trình, buộc mọi người nhập chúng là thừa và do đó nội dung của gói này được nhập khẩu ngầm.

+0

Cảm ơn Kris ... :-) –

15

String có trong gói java.lang được nhập theo mặc định trong tất cả các chương trình java.

+0

Cảm ơn Ankur .. :-) –

+0

bạn được chào đón :) – Ankur

+0

Từ tài liệu: _... tự động nhập tất cả các loại công khai được khai báo trong gói định sẵn java.lang._ Nguồn: https://docs.oracle.com/javase/specs/jls/se7/html/jls-7.html –

1

Trình biên dịch Java nhập 3 gói theo mặc định. 1. The package without name 2. The java.lang package(That's why you can declare String, Integer, System classes without import) 3. The current package (current file's package)

Đó là lý do bạn không cần phải khai báo tuyên bố nhập khẩu đối với các gói java.lang.