Dấu ngã trong dấu ngoặc nhọn có ý nghĩa gì khi tạo một lớp chung Java?


127

Tôi đã đọc qua một số ví dụ về JMockit và tìm thấy mã này:

final List<OrderItem> actualItems = new ArrayList<~>();

Dấu ngã trong định danh chung có nghĩa là gì? Tôi biết đó là toán tử đơn phương KHÔNG theo bit, nhưng tôi không thấy toán hạng ở đây.

Ngoài ra, tôi đã thử biên dịch nó và gặp lỗi. Tôi chỉ thiếu một cái gì đó?

Câu trả lời:


158

Nó chỉ là một tốc ký cho "giống như trong tuyên bố".

Một số IDE, ví dụ IntelliJ cũng sử dụng điều này.

Các tệp trên đĩa không có ký hiệu này, đây chỉ là phần nén trong GUI IDE.


1
Đó là một ảnh chụp màn hình Intellij.
Michael K

Chỉ để làm rõ cá nhân - IntelliJ tạo các tệp nguồn Java với ký hiệu này , iaw, các tệp nguồn có nội dung Java bất hợp pháp ??? Hay đây chỉ là quan điểm của nguồn và tệp đã lưu là chính xác?
Andreas Dolk

5
@Andreas_D: Đây chỉ là một góc nhìn. Các tập tin trên đĩa là ok.
openCage

6
Và trên thực tế, dấu ngã có màu xám (để biểu thị rằng nó khác) và nếu bạn nhấp vào nó, nó sẽ mở rộng sang định nghĩa đầy đủ.
yshavit

1
Điều này có thể bị vô hiệu hóa trong cài đặt intelij cho trình soạn thảo / chung / Code Folding.
Ocie Mitchell


9

Trong IntelliJ IDEA, ~ở đây:

Set<String> associations = new LinkedHashSet<~>();

có nghĩa là String, giống như trong khai báo ở bên trái.


2

Tôi nghĩ đó là viết tắt có nghĩa là bất kể loại nào, trong trường hợp này là OrderItem .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.