Автозаполнение Eclipse для Runnable работает, но не для Thread - PullRequest
2 голосов
/ 28 марта 2012

Если я наберу «new Runnable» и нажму CTRL + SPACE, Eclipse позволит мне создать анонимный внутренний класс. Однако, когда я делаю то же самое с «Нитью», это не так.

Немного раздражает, что каждый раз, когда мне нужен анонимный поток, я должен создать новый Runnable, а затем изменить «Runnable» на «Thread».

Есть ли способ, позволяющий Eclipse автоматически создавать поток?

Ответы [ 5 ]

3 голосов
/ 28 марта 2012

Я думаю, что Eclipse делает это, потому что Thread - это конкретный класс, а Runnable вместо интерфейса.Eclipse по умолчанию не может позволить вам создать анонимный класс, который расширяет конкретный класс.

Более приемлемый способ создания Thread - это использовать Runnable в любом случае, который не ограничивает вас Thread базовый класс:

 Thread thread = new Thread(new Runnable() {
     public void run() {
        ...
     }
 });
 thread.start();
 ...
2 голосов
/ 28 марта 2012

В качестве обходного пути вы можете создать новый шаблон для создания потока.

Eclise (по крайней мере в 3.7) уже есть для Runnable. Вы можете попробовать это, если вы наберете runnable, а затем Ctrl+Space, пока не появятся шаблоны предложений.

Чтобы создать новый шаблон для Thread:

  • Открыть представление шаблона Window > Show View > Templates
  • Выбрать runnable
  • Копировать / Вставить из контекстного меню
  • Отредактируйте новый шаблон, заменив Runnable на Thread
1 голос
/ 28 марта 2012

Нажмите «Создать» на этой панели и создайте новый шаблон. Ctrl-пробел будет работать так, как вы ожидаете.

enter image description here

1 голос
/ 28 марта 2012

Это приходит. Я не уверен, как вы нажимаете Ctrl + Пробел .

enter image description here

0 голосов
/ 28 марта 2012

Да.Избегайте анонимных внутренних классов.Вам нужна нить?Это что-то важное?Создайте нормальный класс, который расширяет поток и реализует run().

Более того.Старайтесь не создавать экземпляры потоков, когда захотите.Пользовательские пулы потоков, исполнители и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...