java - 为什么同样值的字符串输出的结果不同。
本文介绍了java - 为什么同样值的字符串输出的结果不同。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
HomeListSpider homeListSpider = new HomeListSpider();
ArrayList<MainPagePicBean> array = homeListSpider.getMore30Items(url);
String string1=array.get(0).getUploadTime();
String string2 = " 1\u4e2a\u6708\u524d\u4e0a\u4f20";
System.out.println(string1);
System.out.println(string2);
System.out.println(new String(string1));
System.out.println(new String(string1.getBytes(),"GBK"));
System.out.println(new String(string2.getBytes(),"GBK"));
为什么两个同样的字符串输出的j结果不同,以及如何将string1转换成汉字
解决方案
你的string1应该是被转义了变成了这样String string1 = "1\\u4e2a\\u6708\\u524d\\u4e0a\\u4f20";
如果想正常输出为文字的话,需要转义回来,可以使用Apache commons包 System.out.println(StringEscapeUtils.unescapeJava(string1));
就可以正常输出了
这篇关于java - 为什么同样值的字符串输出的结果不同。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文