java中使用C语言拼接字符串的相关问题(android程序逆向)

java向C函数传入String[],C将jString[]中的字符串转为char*,分配空间后拼接字符,strcpy();
最后传出的值赋给java程序中String型变量。那么请问这样做和直接用原生java拼接有什么区别?

java的字符串采用utf16 big endian方式编码,而c语言就不同了,可能是ansi char也可以是wchar