博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
同一个String在使用不同的charset编码的时候equals仍然是返回true吗
阅读量:6910 次
发布时间:2019-06-27

本文共 1274 字,大约阅读时间需要 4 分钟。

1、对于ASCII字符,是的(只要该charset涵盖了ASCII编码),使用任何charset编码都不会影响equals的判断

2、对于非ASCII字符,不一定。例如同中文字符串"你好",在UTF-8编码下的String和GBK编码下的String两个equals可能返回false

参考这篇文章中的例子:

下面给出代码验证:

public static String convertCharset(String arg, String charsetName) {        String result = null;        try {            result = new String(arg.getBytes(Charset.defaultCharset()), charsetName);        } catch (UnsupportedEncodingException e) {            e.printStackTrace();        }        return result;    }    public static void main(String[] args) {        System.out.println(Charset.defaultCharset());        String s1 = "ABCD"; // 尝试把s1换成中文字符        String s2 = convertCharset(s1, "UTF-8");        String s3 = convertCharset(s1, "GBK");        String s4 = convertCharset(s1, "GB2312");        System.out.println(                (s1.equals(s2)) + ", " +                (s1.equals(s3)) + ", " +                (s1.equals(s4)) + ", " +                (s2.equals(s3)) + ", " +                (s2.equals(s4)) + ", " +                (s3.equals(s4))        );        System.out.println(s1 + ", " + s2 + ", " + s3 + ", " + s4);    }

我的机器上的运行结果

  当s1=="ABCD"时:

  GBK

  true, true, true, true, true, true

  ABCD, ABCD, ABCD, ABCD

  当s1=="你好"时:

  GBK

  false, true, true, false, false, true
  你好, ???, 你好, 你好

转载地址:http://aaycl.baihongyu.com/

你可能感兴趣的文章
【转】PHP网站(nginx、php-fpm、mysql) 用户权限解析
查看>>
OpenTSDB介绍——基于Hbase的分布式的,可伸缩的时间序列数据库,而Hbase本质是列存储...
查看>>
MySQL备份mydumper的原理【转】
查看>>
Linux最常用命令的小总结
查看>>
easyui validatebox 验证类型DEMO
查看>>
Spring Boot项目的打包和部署
查看>>
元素绝对居中终极办法兼容IE8
查看>>
weblogic 的应用 常见问题处理 db2 链接不上(转载)
查看>>
linux下的Shell编程(5)循环
查看>>
Switch 语句
查看>>
Java-idea-安装配置优化等
查看>>
一个想法(续三):一份IT技术联盟创业计划书,开启众筹创业征程
查看>>
绝对均匀图生成算法
查看>>
Maven编译出现“[ERROR] java.lang.OutOfMemoryError: Java heap space”
查看>>
通过XShell链接虚拟机的CentOS
查看>>
wmic windows
查看>>
Shiro学习(总结)
查看>>
大话设计模式C++版——建造者模式
查看>>
SharePoint 2013 隐藏部分Ribbon菜单
查看>>
[PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索(二)
查看>>