Миграция типов рефакторинга Intellij ничего не дает

#java #refactoring

#java #рефакторинг

Вопрос:

Я пытаюсь изменить тип лицензии со string на int. Я щелкаю правой кнопкой мыши по «строке» и выбираю миграцию типов, но ничего не происходит, каков правильный путь к этому?

 public class Worker implements Driver {

    private String wid;
    private String password;
    private String name;
    private String terms;
    private String position;
    private String license;
    private String bank;

    private int salary;
    private int startDay;
    private int startMonth;
    private int startYear;
   private int connected;
}
 

Комментарии:

1. Как вы это делаете? Потому что я могу изменить тип. Кроме того, возможно, что вы используете где-то эти поля, поэтому изменить их было бы невозможно

Ответ №1:

Как указано в документации по миграции типов. Чтобы миграция типов работала, вам нужно выбрать тип, который вы хотите перенести. Строка рядом с license в вашем случае. Это не работает, когда вы выбираете имя переменной.

Комментарии:

1. я нажимаю на «строку» » не по лицензии

2. Тогда это должно сработать. Возможно, он застрял. Попробуйте перезапустить его или аннулировать его кеш (в верхнем левом углу File-> Invalidate Caches / restart).

Ответ №2:

При переносе типа кажется, что IntelliJ по умолчанию не выбирает «Все места» в качестве области видимости. Мой выбрал случайную область, которая не включала файл, который я редактировал.