update at 2022-02-23 23:08:27 by ehlxr

master
ehlxr 2022-02-23 23:08:27 +08:00
parent 53521e036f
commit 21b0ed000d
2 changed files with 9 additions and 7 deletions

View File

@ -39,16 +39,14 @@ class HelloWorld {
HelloWorld hw = new HelloWorld();
// hw.setNameStr("fsdfs");
hw.setNameStr("fsdfs");
System.out.println(HelloWorld.fetchNameStr(hw));
}
private String nameStr;
public void setNameStr(String nameStr){
System.out.println(nameStr);
// this.nameStr=nameStr;
this.nameStr=nameStr;
}
public String getNameStr(){

View File

@ -9,15 +9,19 @@ pub extern "system" fn Java_me_ehlxr_HelloWorld_fetchNameStr(
_class: JClass,
input: JObject,
) -> jstring {
if let JValue::Object(rt) = env
let out_str = if let JValue::Object(result) = env
.call_method(input, "getNameStr", "()Ljava/lang/String;", &[])
.unwrap()
{
println!("return {:?}", rt)
let jstr = env.get_string(JString::from(result)).unwrap();
// println!("call getNameStr result: {}", String::from(jstr));
format!("Hello, {}! from Rust..", String::from(jstr))
} else {
format!("Hello! from Rust..")
};
let output = env
.new_string(format!("Hello, {:?}! from Rust..", input))
.new_string(out_str)
.expect("Couldn't create java string!");
output.into_inner()
}