2012-12-26 31 views
5

Giả sử có yêu cầu sử dụng giao diện chung cụ thể, nhưng tình huống không yêu cầu sử dụng một trong các thông số chung.Thông số chung không cần thực hiện

Hãy nói rằng tôi cần một Callable<T> (mà phải trả lại một T từ phương pháp call() của nó), nhưng nhân dịp này tôi không cần các kết quả trả về, tôi chỉ muốn gửi một số mã để một ExecutorService để "làm một cái gì đó"

Tùy chọn tốt nhất cho loại T là gì?

+1

+1 Trời đang mưa * mũ câu hỏi * trên stackoverflow: P – Raffaele

+2

@Raffaele Có phải * đó * hiển nhiên không? lol – Bohemian

+0

Đó là: P đặc biệt là từ 0,05% người dùng hàng đầu eheh – Raffaele

Trả lời

7

Bạn có thể sử dụng đặc biệt Void loại:

Callable<Void> callable = new Callable<Void>() { 
    @Override 
    public Void call() throws Exception { 
     // do stuff 
     return null; 
    } 
}; 

Tuyên bố return là cần thiết để thoát khỏi phương pháp. Giá trị duy nhất mà trình biên dịch chấp nhận là null. Khá tiện dụng!

+0

+1 Đây là trường hợp sử dụng chính xác cho lớp 'Void'. –

+0

cũng giống như vậy, ví dụ: 'Toán học ' – newacct

0

Sử dụng Void.

30char30char30char, xin lỗi, không có nhiều để thêm: P

0

Trong thực tế, bạn cũng có thể gửi Runnable đến ExecutorService, không có loại trả lại.

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