Intereting Posts
RealmMigrationNeededException при добавлении RealmList <Int> (Kotlin) Включая файлы Javascript (не модуль) в Котлин Класс данных, наследующий класс Java Kotlin kotlinClass.class.getName () не может вернуть имя пакета, но только простое имя класса Почему функция Kotlin с параметрами по умолчанию создает метод с неиспользуемым параметром Переменная «runnable» должна быть инициализирована Тестирование аккских актеров с участием Котлина и Акка-Тесткита Для каждого метода требуется аннотация @JsName? Вы загрузили APK, подписанный с сертификатом, который истекает слишком скоро Каковы преимущества языка программирования Kotlin? Kotlin: Как наследовать свойство в классе данных Конструктор Котлин с суперклассом Подключение moshi к Android Studio (Kotlin) Почему отображается только первая строка с помощью утилиты Recyclerview gridlayoutmanager Java-совместимость: как объявить константу массива компиляции в Котлине?

Почему Netbeans жалуется на двусмысленность, в то время как Intellij вместо этого не

У меня есть kotlin math lib со следующим классом Vec2i и основным конструктором :

 data class Vec2i(override var x: Int, override var y: Int) : Vec2t<Int>() 

Тогда Vec2i также среди нескольких вторичных конструкторов, который должен перехватывать все другие типы номеров :

 constructor(x: Number, y: Number) : this(xi, yi) 

Все под Idea компилируется и запускается. Я тестировал артефакт с отдельным проектом java.

Тот же артефакт не запускается в проекте java, если я переключаю IDE, Netbeans жалуется на двусмысленность между ними.

Зачем?

Изменить: из какого-то дальнейшего анализа выяснилось, что Netbeans жалуется, потому что одна из координат была int , другая Integer . Пробовав то же самое на идее, он говорит:

не может разрешить конструктор

Итак, почему вызов costructor с (int, int) или (Integer, Integer) прекрасен, но (int, Integer) не разрешается вторичному конструктору и вызывает неоднозначность?

Solutions Collecting From Web of "Почему Netbeans жалуется на двусмысленность, в то время как Intellij вместо этого не"

В документации oracles мы видим, что Integer является объектом, который содержит int .

int – примитивный тип, тогда как Integer – объект.

Конструкторы, которые вы разрешаете передавать пару любого типа, но когда вы проходите оба конструктора, не знаете, что делать.

Для получения дополнительной информации у этого вопроса есть хорошая разбивка.