Доступ к локальному облаку с помощью самоподписанного сертификата с помощью приложения Cordova

В отличие от .NET Java generics реализуются методом, называемым стиранием типа.

. Это означает, что компилятор будет использовать информацию о типе при создании файлов классов, но не передавать это информацию в байтовый код. Если вы посмотрите на скомпилированные классы с помощью javap или аналогичных инструментов, вы обнаружите, что List<String> является простым List (Object) в файле класса, как это было в коде pre-Java-5.

. Кодирование, получающее общий список, будет «перезаписано» компилятором, чтобы включить в него броски, которые вам придется писать в более ранних версиях. По сути, следующие два фрагмента кода идентичны с точки зрения байтового кода после компилятора с ними:

Java 5:

List<String> stringList = new ArrayList<String>();
stringList.add("Hello World");
String hw = stringList.get(0);

Java 1.4 и до:

List stringList = new ArrayList();
stringList.add("Hello World");
String hw = (String)stringList.get(0);

При чтении значений из общего класса в Java 5 автоматически добавляется необходимый приведение к объявленному параметру типа. При вставке компилятор проверяет значение, которое вы пытаетесь ввести и прервите с ошибкой, если это не строка.

Все дело в том, чтобы сохранить старые библиотеки и новый расширенный код в интероперабельности без какой-либо необходимости перекомпилировать существующие библиотеки. Это основное преимущество над способом .NET, когда родовые классы и не общие игры живут бок о бок, но не могут быть взаимозаменяемы.

Оба подхода имеют свои плюсы и минусы, но так оно и есть находится в Java.

Чтобы вернуться к исходному вопросу: вы не сможете получить информацию о типе во время выполнения, потому что его просто больше нет, как только компилятор выполнил свою работу. Это, безусловно, ограничивает в некотором роде и есть некоторые капризные способы вокруг него, которые обычно основаны на хранении экземпляра класса где-то, но это не стандартная функция.

0
задан LostInTheEcho 19 March 2019 в 14:03
поделиться