So übergeben Sie ein Array an FunktionsparameterJava

Java-Forum
Guest
 So übergeben Sie ein Array an Funktionsparameter

Post by Guest »

Ich versuche, in H2 einen Alias ​​für eine Funktion mit zwei Array-Parametern zu erstellen.
Parameter: Array sourceArray,
Array subArray
Gibt boolean zurück:
TRUE, wenn sourceArray alle Elemente von subArray enthält.
OR ELSE false
Ich habe die Funktion deklariert:

Code: Select all

CREATE ALIAS IF NOT EXISTS array_contains_all AS '
boolean arrayContainsAll(java.util.HashSet sourceArray, java.util.HashSet subArray) {
return sourceArray.containsAll(subArray);

}';
Ich rufe diese Funktion auf:

Code: Select all

SELECT array_contains_all (Array['HELLO',  'WORLD', 'FRIEND'],  Array['HELLO', 'WORLD']);
Ich habe WAHR erwartet.
Aber es wird ein Fehler ausgegeben:

Hexadezimale Zeichenfolge enthält Nicht-Hex-Zeichen: „[HALLO, WELT, FREUND]“.

Dann habe ich versucht:

Code: Select all

CREATE ALIAS IF NOT EXISTS array_contains_all AS '
boolean arrayContainsAll(java.sql.Array sourceArray, java.sql.Array subArray) {
java.util.List sourceArrayList = java.util.Arrays.asList((Object[]) sourceArray.getArray());
java.util.List subArrayList  = java.util.Arrays.asList((Object[]) subArray.getArray());
return sourceArrayList.containsAll(subArrayList);

}';
Es wird derselbe Fehler ausgegeben:

Hexadezimale Zeichenfolge enthält Nicht-Hex-Zeichen: „[HALLO, WELT, FRIEND ]".

Wie kann ich das korrigieren?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post