Использование внешних Jars / Libraries с хранимыми процедурами Oracle Java [duplicate]

== проверяет ссылки на объекты, .equals() проверяет строковые значения.

Иногда кажется, что == сравнивает значения, потому что Java делает некоторые закулисные вещи, чтобы убедиться, что одинаковые строки в строке являются одним и тем же объектом.

Для Например:

String fooString1 = new String("foo");
String fooString2 = new String("foo");

// Evaluates to false
fooString1 == fooString2;

// Evaluates to true
fooString1.equals(fooString2);

// Evaluates to true, because Java uses the same object
"bar" == "bar";

Но будьте осторожны с нулями!

== обрабатывает строки null в порядке, но вызов .equals() из пустой строки приведет к исключению:

String nullString1 = null;
String nullString2 = null;

// Evaluates to true
System.out.print(nullString1 == nullString2);

// Throws a NullPointerException
System.out.print(nullString1.equals(nullString2));

Итак, если вы знаете, что fooString1 может но не менее очевидно, что он проверяет значение null (из Java 7):

System.out.print(Objects.equals(fooString1, "bar"));
4
задан Florian Müller 8 January 2018 в 16:59
поделиться

2 ответа

Используйте инструмент loadjava, он также принимает файлы jar: http://docs.oracle.com/cd/B19306_01/java.102/b14187/cheleven.htm#CACFHDJE

См. также этот связанный вопрос (скопировав приведенную выше ссылку оттуда): Настройка класса path для хранимой процедуры Java в Oracle

5
ответ дан Community 16 August 2018 в 11:08
поделиться

Я обычно использую эту консольную команду для добавления новых банок в oracle:

exec dbms_java.loadjava('D:\temp\jcifs-1.3.19.jar');

В моем случае я добавил эту библиотеку для подключения к общим папкам Windows из установки oracle linux (smb). После установки вам может потребоваться предоставить пользователю разрешения.

0
ответ дан PbxMan 16 August 2018 в 11:08
поделиться
Другие вопросы по тегам:

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