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

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

参考这篇文章中的例子:http://www.cnblogs.com/qrlozte/p/3516702.html

下面给出代码验证:

    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
  你好, ???, 你好, 你好

同一个String在使用不同的charset编码的时候equals仍然是返回true吗的更多相关文章

  1. Java和C#中String直接赋值与使用new创建(==与equals进行比较)的区别

    在Java中,字符串可以直接赋值或者使用new来新建,直接赋值的话是编译阶段(.class文件)中就将该字符串值放到常量池中,以后如果有其他变量直接赋予同样的值的话就不再分配内存空间,而是直接给它个引 ...

  2. 在C#中通过使用Newtonsoft.Json库来解析百度地图地理编码(GeoCoder)服务接口返回的Json格式的数据

    百度地图地理编码(GeoCoder)服务接口返回的Json格式的数据,如下所示: http://api.map.baidu.com/geocoding/v3/?address=**省**市**区**路 ...

  3. 对比两个String无规律包含连续4个相同字符返回true的方法

    package com.qif.dsa.util; import java.util.ArrayList; import java.util.List; /** * @author * @Title: ...

  4. java String与Byte[]和String 与InputStream转换时注意编码问题。。。

    前一段日子,我在做rsa加密和通过http get方式获取验证码图片通过BitmapFactory创建bitmap 出现了一系列的问题. 通过一系列的调试,发现有些问题原来是在进行String 与By ...

  5. asp.net query string 及 form data 遇到的编码问题

    当遇到此问题时,脑海里闪过的第一个解决方案是设置 web.config 的编码.但一想,就某一个页面的需求而导致其他跟着妥协,不是好的解决方案.于是网上搜索答案,下面做个小分享,遗憾的是研究不够深入, ...

  6. [LeetCode] Encode String with Shortest Length 最短长度编码字符串

    Given a non-empty string, encode the string such that its encoded length is the shortest. The encodi ...

  7. iOS开发-- TFHpple抓取GB-2312编码的html页面,页面返回编码错误

    今天用TFHpple解析html,发现老报错encoding error : input conversion failed due to input error, bytes  I/O error ...

  8. “equals”有值 与 “==”存在 “equals”只是比较值是否相同,值传递,==地址传递,null==a,避免引发空指针异常,STRING是一个对象==null,对象不存在,str.equals("")对象存在但是包含字符‘''

    原文链接:http://www.cnblogs.com/lezhou2014/p/3955536.html "equals" 与 "==" "equa ...

  9. 在主函数中提示用户输入用户名和密码。另写一方法来判断用户输入是否正确。该方法分别返回一个bool类型的登录结果和和一个string类型的登录信息。如登录成功,返回true及“登录成功”,若登录失败则返回false及“用户名错误”或“密码错误”(使用out参数)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

随机推荐

  1. Fibre Channel和Fiber Channel

    Fibre Channel也就是"网状通道"的意思,简称FC.   由于Fiber和Fibre只有一字之差,所以产生了很多流传的误解. FC只代表Fibre Channel,而不是 ...

  2. 服务器主机上RAID Card的Write Caching Policy

    在Cisco Server的DRAC中, 创建virtual drive时, 会看到下面的选项.   那么Write back, write through, write back bad BBU之间 ...

  3. CSS 中的强制换行和禁止换行

    强制换行       1.word-break: break-all;       只对英文起作用,以字母作为换行依据.       2.word-wrap: break-word;   只对英文起作 ...

  4. 努力让java学习系统化

    这段日子接手一社区系统的开发.开发过程中感觉到自己接触到的和所作的多是业务逻辑性开发,对java开发到如今还没有一个清晰明白的路线,我越来越感觉到问题的重要性. 问题一:代码仅仅注重了功能实现,对代码 ...

  5. CSS基础和布局复习

    table布局 div布局优势   浏览器支持完善   表现和结构分离   样式设计控制功能强大   可以继承,层叠处理 Transitional // 松散过度型 Strict //严格型 Fram ...

  6. 网络电台-SHOUTcast

    网络电台种类 目前的网络电台网站一般是基于以下三种协议的: mms.rtsp.http 其中mms是微软公司提出的网络流媒体协议,通常采用wma格式的文件,Android现在还不支持这种协议,也不支持 ...

  7. vue - 页面跳转

    HTML:a 小程序:navigator Vue:router-link 1. router-link => a标签 2. javascript标签跳转页面 2.1   2.2 3. 常用方法之 ...

  8. vue - 详细路由配置

    1. 路由可配置多个 2. 路由包含嵌套子路由 3. 路由可以别名 4. 路由单独钩子 5. vue2.6.0(可以直接匹配大小写) export default new Router({ mode: ...

  9. UNIX网络编程读书笔记:字节操纵函数

    #include <strings.h> void bzero(void *dest, size_t nbytes); void bcopy(const void *src, void * ...

  10. 使用create-react-app模板模仿12306app

    概述 使用create-react-app模板模仿12306app,实现了登陆和查票购票管理,结合express+mysql做后台,实现数据存储. github地址:https://github.co ...