Как я могу назвать код.NET от Java?

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

23
задан Jon Seigel 27 April 2010 в 03:44
поделиться

5 ответов

Я полагаю, что Java может говорить с COM, и.NET может представить COM-интерфейсы. Таким образом, это может быть решением для очень легкого веса, которое не требует никакой третьей стороны. Существует также опция использования сокетов для передачи между программами, которые не потребовали бы, чтобы тяжелый экземпляр IIS был установлен на машине.

10
ответ дан Nick Berardi 29 November 2019 в 01:58
поделиться

Я являюсь автором jni4net , межпроцессного моста с открытым исходным кодом между JVM и CLR. Он построен на основе JNI и PInvoke. Код C / C ++ не требуется. Я надеюсь, что это поможет вам.

23
ответ дан Pavel Savara 29 November 2019 в 01:58
поделиться

Вы посмотрели IKVM?

5
ответ дан Jon Skeet 29 November 2019 в 01:58
поделиться

Если вы изучали собственный интерфейс Java?

В прошлом я занимался написанием библиотеки C, которую можно вызывать как из Java, так и из .NET (а также из COM, языка сценариев NSIS, и другие технологии).

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

2
ответ дан RB. 29 November 2019 в 01:58
поделиться

Мы попробовали IKVM в нашей продуктивной среде, но это продолжало отказывать. Мы используем JNBridge, который является коммерческим продуктом, но очень стабилен и работает хорошо в нашей среде ASP.NET.

1
ответ дан Tony Whalen 29 November 2019 в 01:58
поделиться
Другие вопросы по тегам:

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