Java中处理日文时String equals不等的问题



String japChar = "オン";
String japGetFromOther :
japGetFromOther.equals(japChar);

 之前遇到一个问题, 在一个日文系统里, 由JDK返回的一个日文的值,在做equals对比时无法与java代码中已经写好的日文进行比较, 一直都是返回false。

研究了一下, 将代码改成以下:

japChar = new String("オン".getBytes("SJIS"),"UTF-8");

 这样japChar与程序中返回的变量japGetFromOther.equals就能相等了, 估计是java中的编码UCS-2没有正确转换成日文字符集SJIS。

时间: 2024-11-02 17:53:53

Java中处理日文时String equals不等的问题的相关文章

Java中new DerivedClass()时背后发生的事情

Java中new DerivedClass()时背后发生的事情 (原创 – 邵正军, 2005-4-5)   class DerivedClass extends BaseClass {-} new DerivedClass();   1           装载class 1.1          载入BaseClass , 产生了此处说明的序列步骤(即: [装载class])的递归. 1.2          载入DerivedClass 1.2.1     为类作用域变量分配存储空间,并赋

java中创建数组时内存怎么分配????

问题描述 java中创建数组时内存怎么分配???? int[] arr=new int[3]; 问题: 上面创建int数组时,怎么分配内存的?arr是一个引用变量,是通过指针指向new int[3](存在堆里面)对吧,那么,栈里面为arr分配几个指针,是3个还是1个? 补充: 疑问1****: 其实我就是想知道java中创建数组时,栈中分配几个指针,是一个还是"数组长度"个? 疑问2****: 如果是一个,那么,这个指正指向谁???? 疑问3****: 如果指向的是第一个元素,那么,该

Java中构造函数File(String)未定义

问题描述 Java中构造函数File(String)未定义 package nmd; import java.io.*; public class FileHello { public static void main(String[] args) { try { Runtime ec=Runtime.getRuntime(); File file=new File("file.txt"); ec.exec(file.getAbsolutePath()); } catch (Excep

在Java中连接字符串时是使用+号还是使用StringBuilder

本文为原创,如需转载,请注明作者和出处,谢谢!     字符串是Java程序中最常用的一种数据结构之一.在Java中的String类已经重载的"+".也就是说,字符串可以直接使用"+"进行连接,如下面代码所示: String s = "abc" + "ddd"; 但这样做真的好吗?当然,这个问题不能简单地回答yes or no.要根据具体情况来定.在Java中提供了一个StringBuilder类(这个类只在J2SE5及以上版

java 中重载函数调用时出现的问题

Java 中重载函数很常见,比如JDK 中的的FileInputStream构造方法就有重载: FileInputStream(File file)  FileInputStream(String name) 但是有时候会出现如下问题:  报错信息为:The method write2File(boolean, File) is ambiguous for the type TestOverride   出现该问题的场景是:重载的两个函数中有实参为null,java编译器没法确定此处的null是

java中对象多态时成员变量,普通成员函数及静态成员函数的调用情况

/* 样例1:   class Parent{      int num = 3;   }     class Child extends Parent{      int num = 4;   } */   /* 样例2: class Parent{   }   class Child extends Parent{     int num = 4; } */   /* 样例3: class Parent{     void show(){         System.out.println

java中io操作时,路径问题

问题描述 java操作时,对于文件的路径一直不是很清楚,还有就是相对路径和绝对路径,最重要的是windows系统的转义字符的问题.能否详细的说说. 解决方案 解决方案二: 46.15%看你的结帖率估计老竹子不会回你的哈哈解决方案三: 路径,这个你还是去补习一下基础知识吧.我就不多说了.解决方案四: 路径问题,楼主不需要关心转义字符,全部用"/"号代替就是了.java会自动帮你处理如:path="c:/folder1/folder2/aa.txt"你用"/&

Java中byte[]转换成String有数据丢失现象,原byte[]长度为6714转换成String被截断成6400,请教各位高手

问题描述 该问题是在HTTP通信过程中发现的,本地接收到的字符数没问题,但是在转换成String过程中出问题了.字符串发送时采用UTF-8的格式,客户端默认也是采用UTF-8,以下方法试过,不管加不加字符集限制都是一样String bString = new String(byets);主要代码BufferedHttpEntity bhe = new BufferedHttpEntity(httpResponse.getEntity());BufferedInputStream buffered

java中按字节截取String字符串.

字符串 /** * 取字符串的前toCount个字符 * * @param str 被处理字符串 * @param toCount 截取长度 * @param more 后缀字符串 * @version 2004.11.24 * @author zhulx * @return String */ public static String substring(String str, int toCount,String more) { int reInt = 0; String reStr = "