2010-07-29 14 views
8

Tôi biết câu hỏi này có thể sẽ gây nhiều tranh luận hơn các câu trả lời cụ thể (mà tôi biết là không thích hợp hơn). Nhưng với việc mua lại gần đây của Oracle, tôi đã tự hỏi liệu có bất kỳ từ nào mà Java có thể (một ngày nào đó) có được các Generics được đổi mới không? Tôi đã nghe nói rằng Oracle muốn cung cấp cho Java một chút thúc đẩy, và tôi có thể nghĩ không có cách nào tốt hơn.Bất kỳ từ nào về generics đã được chỉnh sửa trong Java?

Trả lời

3

Có một bài viết hay về thảo luận về generics đã được sửa đổi, here, mà bạn nên đọc liên quan đến Java. Về cơ bản nó phác thảo một số những cạm bẫy có thể xảy ra với sự ra đời của một sự thay đổi như vậy. Đó là khá tàn bạo cho khả năng tương thích ngược khi bạn nghĩ về nó. Chọn nó lên trên Hacker News nếu bạn đang tự hỏi nó đến từ đâu.

Hãy biết ơn rằng có nói chuyện về adding closures với Java. Không còn phải vất vả thông qua chỉ với những thứ như Functional Java và ilk của chúng (không phải những điều này là xấu, ngược lại.)

+0

Sigh ... Đó là một điều tốt Sun/Oracle không chịu trách nhiệm xây dựng đường cao tốc của quốc gia này. Họ sẽ ủy thác một làn đường ngựa và ngựa với chi phí của một làn đường cao tốc. (Xin lỗi - Tôi biết đó không phải lỗi của bạn. :-P) – nonoitall

+1

Để ăn cắp ý tưởng từ adams douglas: việc thêm bao đóng vào java giống như vẽ một bánh xe để làm cho nó hoạt động nhanh hơn. – CurtainDog

+0

Việc thêm bao đóng vào Java giống như thêm vô lăng vì mọi người muốn có thể dễ dàng biến ngựa và xe của họ. –

2

Tôi không biết về tương lai ngoài Java 7 nhưng có vẻ như Reified Generics sẽ không trong Java 7 (và nếu Oracle muốn cung cấp cho Java một chút thúc đẩy, họ nên bắt đầu với việc phát hành Java 7).

1

Trái ngược với những gì hầu như mọi người đều tin, có thể tạo lại Generics trong Java, điều này có nghĩa là việc xóa loại có thể tránh được. Trên thực tế, nó là một thủ thuật hoặc ma thuật đen tối tinh khiết nếu bạn muốn.

Tôi đã viết một bài báo về vấn đề này tại

http://rgomes-info.blogspot.co.uk/2013/12/using-typetokens-to-retrieve-generic.html

Trong phần cuối của bài viết có một phần về ưu và nhược điểm của thủ thuật này. Trên thực tế, điều chính xác sẽ có "Generics" hợp nhất Generics trong Java và không phải là một lừa như thế này ... nhưng tiếc là đây không phải là trường hợp.

+0

+1 vì bài viết thú vị, nhưng có một lớp học toàn bộ những thứ bạn có thể làm với các generics đã được chỉnh sửa mà bạn không nhận được từ việc chỉ đơn giản là chuyển loại xung quanh. Đúng là các Generics có thể tái tạo được với một chút ma thuật tạo mã, và, cho rằng asm giống như điều tuyệt vời nhất, tôi không thể giải thích tại sao hầu hết mọi người không cho nó đi. – CurtainDog

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