java - 为什么同样值的字符串输出的结果不同。

查看:154
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆