update at 2022-02-23 23:08:27 by ehlxr
This commit is contained in:
		| @@ -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(){ | ||||
|   | ||||
| @@ -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() | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user