Теоретически, класс Value
из org.graalvm.polyglot
предоставляет методы, которые позволяют запрашивать его тип, а также преобразовывать его в данный тип. В этом случае вы хотите использовать Value#asString()
, поэтому в вашем примере
hello.execute().asString()
На самом деле это зависит от того, что интерпретатор LLVM возвращает вам и поддерживает ли он asString
. Это может быть просто байтовый массив, который вы можете прочитать побайтно, используя Value#getArrayElement
. Это может быть указатель на память вне кучи (что никогда не произойдет в управляемом режиме LLVM), которую вы можете прочитать, используя Value#asNativePointer
.
Ответ Роланда дает более подробное описание.