Что делает <и> средний, такие как реализации, Сопоставимые <BigInteger>?

Я получил его с некоторыми исследованиями, проблема была в версии Node (9.0.0) с последней ионной (4.8.0), я считаю, после обновления моего Node (v10.15.0) он начал работать нормально. Благодаря

6
задан Filipp W. 5 April 2018 в 05:55
поделиться

2 ответа

Прочитайте Учебное руководство по Дженерикам Java. Вещью между угловыми скобками является параметр типа - Сопоставимый, универсальный класс, и в этом случае угловые скобки означают, что класс сопоставим с другим BigIntegers.

Для немного большего количества разъяснения в этом случае, взгляните на Javadoc для Сопоставимого в 1,5. Обратите внимание, что это объявляется как Comparable<T>, и что compareTo метод берет аргумент типа T. T является параметром типа, который "заполнен в", когда интерфейс используется. Таким образом в этом случае объявление Вас реализует Comparable<BigInteger> подразумевает, что у Вас должен быть a compareTo(BigInteger o) метод. Другой класс мог бы реализовать Comparable<String> подразумевать, что это должно было бы реализовать a compareTo(String o) метод.

Надо надеяться, Вы видите преимущество от вышеупомянутого отрывка. В 1,4, подпись compareTo мог только когда-либо брать Object начиная со всех видов классов, реализованных Сопоставимый и не было никакого способа знать точно, что было необходимо. С дженериками, однако, можно указать, что Вы сопоставимы относительно конкретного класса и затем пишете более определенный compareTo метод, который только посещает тот урок в качестве параметра.

Преимущества здесь являются двукратными. Во-первых, Вы не должны делать instanceof проверьте и бросок в реализацию своего метода. Во-вторых, компилятор может сделать намного больше типа, проверяющего во время компиляции - Вы не можете случайно передать Строку во что-то, что реализует Comparable<BigInteger>, так как типы не соответствуют. Для компилятора намного лучше смочь указать на это Вам, вместо того, чтобы иметь эту причину исключение на этапе выполнения, как это обычно происходило бы в необщем коде.

19
ответ дан 8 December 2019 в 04:56
поделиться

Я вполне уверен, это - Дженерики

http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html

Я спросил что-то подобное (C#), это имеет полезную информацию там, Что означает Метод <Имя класса>?

5
ответ дан 8 December 2019 в 04:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: