展开全部
看了你的描述:
转换后成 '[C@1b8ee96'
这个不是乱码,是Java的hashCode值,即对象的内存地址62616964757a686964616fe59b9ee7ad9431333335313861,产生原因是:
String sql1= " '"+id+"'"; 做字符串拼接时,id是一个对象
java在做字符串拼接时,会调用toString方法,而toString默认返回的是hashcode
id的是个数组,什么类型的,包括String sql= " '"+id+"'"; 你想拼成一个怎样的sql语句
int [] a = {1,2,3,4};
System.out.println(Arrays.toString(a)); // 数组变字符串
供你参考,因为要拼sql需要额外处理
String ss = "3703731197270270";
char[] id = ss.toCharArray();
String idStr = Arrays.toString(id);
idStr = idStr.substring(1).substring(0, idStr.length() - 2);
String sql = " '" + idStr + "'";
System.out.println(sql);
String sql1 = "insert into weibo value ('" +sql +"')"
System.out.println(sql1);
看看合不合适