Java假设检验中的两类错误错误

Java开发中常见错误及规避技巧
在开发Java软件时可能会遇到许多类型的错误,但大多数可以避免。我们列举了50个最常见的Java软件错误,其中包含代码示例和教程,以帮助您解决常见的编码问题。
编译器错误
编译器错误消息在Java软件代码在编译器执行时产生。需要重点记住的是,一个编译器可能为一个错误抛出多个错误消息。所以修复第一个错误并重编译,就能修复很多的问题。
1.“…可预料的”
当编码出现遗漏时,就会发生这类错误。可能是缺失了一个括号或者分号。
这种错误消息常常不会准确的定位到错误发生的位置。为了找到错误,建议:
确保所有的左括号有对应匹配的右括号。
(使用IDE,译者注)在代码行前的提示中检查。这种Java软件错误不要由编译器来关注,应该把更后面的工作交给它。
有时候一个字符,比如一个左括号不应该写在Java代码的开始处。这样造成的结果是开发者不会写右括号去凑成一对。
2.“未封闭的String表达式”
“未封闭的String表达式”错误消息发生在Sting表达式结束时没有引号标记,错误消息将在发生错误的同一行提示出来。一个String表达式在源码中是一个值。
通常情况下,错误发生在:
String表达式结束时没有使用引号标记。这种错误只要在String表达式结束是使用引号就能简单的改正
String表达式超过一行时。长的String表达式可以被拆分成多个表达式,然后用"+"连接起来。
引号是String表达式中的元素又没有使用下划线“\”进行转义。
3.“非法的表达式开头”
出现“非法表达式开头”错误的原因有很多。但它最终归类于一个不太有用的错误消息之一。有些开发者说这是由糟糕的代码造成的。
通常,创建表达式是用于生成新值或为变量赋值。编译器期望找到一个表达式,但找不到它,因为语法不符合预期。在下面这些语句中可以找到此错误。
4.“找不到符号”
这是一个非常常见的问题,因为Java中的所有标识符都需要在使用之前进行声明。当编译代码时,编译器并不理解标识符的含义。
在你遇到“找不到符号”消息时可能有很多种原因:
标识符声明时的拼写可能与代码中使用时的拼写不同。
该变量从未被声明。
该变量使用的位置与其声明的作用域不同。
类并未被导入。
5.“公共类XXX应该在文件中出现”
“公共类XXX应该在文件中出现”这个消息出现在类XXX和Java程序文件名不一致时。源代码只有在类名和Java文件名一样时才会被编译。
要修复这种情况:
类名和文件名一样。
确保这两个名字的大小写一致。
6.“不兼容类型”
“不兼容的类型”是在赋值语句中尝试将变量与类型表达式匹配时触发的逻辑错误。通常是在代码尝试将文本字符写入到整数中时出现,反之亦然。这不是Java语法错误。
当编译器给出“不兼容的类型”消息时,确实没有一个简单的修复方案:
有可以转换类型的函数。
开发人员可能需要按照代码的预期修改之。
7.“无效的方法声明;需求返回类型”
此错误表示方法签名中没有明确说明方法的返回类型。
有几种方式会触发“无效的方法声明;需求返回类型“错误:
忘记说明返回类型
如果方法没有返回值,那么需要用“void”表示方法签名中的返回类型。
构造函数名称不需要说明返回类型。但是,如果构造函数名称中出现错误,那么编译器会将构造函数视为没有指定类型的方法。
8.“类Y中的方法X不能应用于给定类型”
此错误消息是Java中最有用的错误消息之一。它解释了方法签名是如何调用错误参数的。
方法在被调用时期望获取在方法声明中定义的某些参数。检查方法声明、谨慎调用方法,以确保声明和调用的参数是兼容的。
9.“缺少返回语句”
当一个方法缺少返回语句时,会发生“缺少返回语句”错误。每一个有返回值的方法(非void类型)必须有一句字面上的语句用以返回返回值,以便在方法外调用该值。
下面列举了一些编译器抛出“缺少返回语句”的消息的原因:
返回语句被错误地省略了
一个方法没有返回任何值,但是在方法签名中没有声明为void类型
10.“精度可能丢失”
当将超过一个变量可以保存的信息分配给该变量时,会发生“精度可能丢失”问题。如果发生这种情况,超出的信息将会被扔掉。如果这样做没问题,那么代码需要将变量显式地声明为新类型。
下面情况会发生“精度可能丢失”错误:
将一个实数赋值给一个整型变量。
将一个双精度浮点数赋值给一个整型变量。
11.“解析时到达文件末尾”
这个错误信息经常发生在Java程序缺少“}”符号时。通常在代码末加上“}”符号能很快解决这个问题。
上述代码的运行结果是下列错误:
代码编写工具和适当的代码缩进可以更容易地找到这些不对的大括号。
这个示例展示了缺少的大括号如何造成“解析时到达文件结尾”的错误消息。
12.“语句不可达”
“语句不可达”发生在当语句被放在一个不会被执行的位置时候。通常是在break语句或return语句后面。
通常简单地移动return语句就能解决这个错误。
13.“变量x可能未被初始化”
这个问题发生在当方法内局部变量在声明时没有被初始化的时候。当一个变量未被初始化但是出现在if语句中的时候会发生该错误。
14.“操作符...不能应用于x”
这个情况发生于当操作符应用于没有定义其使用方法的类型上。
当Java代码尝试使用string类型进行数学计算时会经常出现这个问题。为了解决它,string需要被转化为integer或float。
15.“不能转换的类型”
“不能转换的类型”错误发生在Java代码尝试进行非法转换的时候。
例如,boolean不能转换为int。
16.“缺少返回值”
当返回语句返回一个错误的类型时,你就会收到“缺少返回值”消息。例如下列代码:
返回下列错误信息:
通常,那些返回语句没有返回任何东西。
17.“返回类型为void的方法不能返回一个值”
当一个返回类型为void的方法尝试返回任何值的时候就会发生这个Java错误,例如下面的例子:
通常改变方法签名,使之和返回语句的返回类型相配就能解决这个问题。在上述例子中,void可以改为int:
18.“非静态变量...不能在静态上下文中被引用”
当编译器尝试在一个静态方法中访问一个非静态变量时会发生该错误。
为了解决“非静态变量...不能在静态上下文中被引用”的错误,有下述两种方法:
在签名中将变量声明为静态变量。
在静态方法中创建一个非静态对象的示例
19.“非静态方法...不能在静态上下文中被引用”
这个情况发生在Java代码尝试在非静态类中调用非静态方法的时候。例如下述代码:
将会返回下述错误:
为了在静态方法中调用非静态方法,可以声明一个类的实例来调用这个非静态方法。
20.“(array)&X&NotInitialized”(数组未初始化)
当数组已声明但未初始化时,你将得到“(array)&X&未初始化”的消息。数组的长度是固定的,因此每个数组都需要按照实际长度进行初始化。
以下代码是可以接受的:
下面也是可以的:
但是这个不行:
接下来的内容
现在我们已经讨论了编译器错误,下次我们将深入讨论各种可能出现的运行时异常,这些异常会浪费你一整天时间。就像本部分,它们将包含代码块、解释和相关链接,以帮助您尽快修复代码。
转发分享是一种美德 Java新人自学交流群:
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点Java_异常类(错误和异常,两者的区别介绍)
转载 & & 投稿:jingxian
下面小编就为大家带来一篇Java_异常类(错误和异常,两者的区别介绍) 。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性。
Throwable 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。
①.Exception(异常)是应用程序中可能的可预测、可恢复问题。一般大多数异常表示中度到轻度的问题。异常一般是在特定环境下产生的,通常出现在代码的特定方法和操作中。在 EchoInput 类中,当试图调用 readLine 方法时,可能出现 IOException 异常。
Exception 类有一个重要的子类 RuntimeException。RuntimeException 类及其子类表示“JVM 常用操作”引发的错误。例如,若试图使用空值对象引用、除数为零或数组越界,则分别引发运行时异常(NullPointerException、ArithmeticException)和 ArrayIndexOutOfBoundException。
②.Error(错误)表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如,当 JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。
检查异常 和 未检查异常 的划分
Java中的异常分为两大类:
1.Checked Exception(非Runtime Exception)
2.Unchecked Exception(Runtime Exception)
运行时异常
RuntimeException类是Exception类的子类,它叫做运行时异常,Java中的所有运行时异常都会直接或者间接地继承自RuntimeException类。
Java中凡是继承自Exception,而不继承自RuntimeException类的异常都是非运行时异常。
一个try后面可以跟多个catch,但不管多少个,最多只会有一个catch块被执行。
对于非运行时异常(checked exception),必须要对其进行处理,否则无法通过编译。
处理方式有两种:
1.使用try..catch..finally进行捕获;
2.在产生异常的方法声明后面写上throws 某一个Exception类型,如throws Exception,将异常抛出到外面一层去。
对于运行时异常(runtime exception),可以对其进行处理,也可以不处理。推荐不对运行时异常进行处理。
扩展:错误和异常的区别(Error vs Exception)
1).java.lang.Error: Throwable的子类,用于标记严重错误。合理的应用程序不应该去try/catch这种错误。绝大多数的错误都是非正常的,就根本不该出现的。
java.lang.Exception: Throwable的子类,用于指示一种合理的程序想去catch的条件。即它仅仅是一种程序运行条件,而非严重错误,并且鼓励用户程序去catch它。
2).Error和RuntimeException 及其子类都是未检查的异常(unchecked exceptions),而所有其他的Exception类都是检查了的异常(checked exceptions).
checked exceptions: 通常是从一个可以恢复的程序中抛出来的,并且最好能够从这种异常中使用程序恢复。比如FileNotFoundException, ParseException等。检查了的异常发生在编译阶段,必须要使用try…catch(或者throws)否则编译不通过。
unchecked exceptions: 通常是如果一切正常的话本不该发生的异常,但是的确发生了。发生在运行期,具有不确定性,主要是由于程序的逻辑问题所引起的。比如ArrayIndexOutOfBoundException, ClassCastException等。从语言本身的角度讲,程序不该去catch这类异常,虽然能够从诸如RuntimeException这样的异常中catch并恢复,但是并不鼓励终端程序员这么做,因为完全没要必要。因为这类错误本身就是bug,应该被修复,出现此类错误时程序就应该立即停止执行。 因此,面对Errors和unchecked exceptions应该让程序自动终止执行,程序员不该做诸如try/catch这样的事情,而是应该查明原因,修改代码逻辑。
RuntimeException:RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等。
处理RuntimeException的原则是:如果出现 RuntimeException,那么一定是程序员的错误。例如,可以通过检查数组下标和数组边界来避免数组越界访问异常。其他(IOException等等)checked异常一般是外部错误,例如试图从文件尾后读取数据等,这并不是程序本身的错误,而是在应用环境中出现的外部错误。
以上这篇Java_异常类(错误和异常,两者的区别介绍) 就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具以下试题来自:
单项选择题下列说法中错误的是______。A.$1_abc是合法的Java标识符B.void是合法的Java保留字C.局部变量必须先声明后使用D.在Java中,类不是用标识符命名的
为您推荐的考试题库
你可能感兴趣的试题
1A.10B.15C.30D.1282A.-12B.12C.-1D.03A.7B.3C.0D.14A.Hello, Guys!B.Guys!C.Hello,D.编译不通过5A.-5B.-1C.-4D.运行时出现异常
热门相关试卷
最新相关试卷Java 编程技术中汉字问题的分析及解决
现在 Java 编程语言已经广泛应用于互联网世界,早在 Sun 公司开发 Java 语言的时候,就已经考虑到对非英文字符的支持了。Sun 公司公布的
Java 运行环境(JRE)本身就分英文版和国际版,但只有国际版才支持非英文字符。不过在 Java 编程语言的应用中,对中文字符的支持并非如同
的标准规范中所宣称的那样完美,因为中文字符集不只一个,而且不同的操作系统对中文字符的支持也不尽相同,所以会有许多和汉字编码处理有关的问题在我们进行应用开发中困扰着我们。有很多关于这些问题的解答,但都比较琐碎,并不能够满足大家迫切解决问题的愿望,关于
Java 中文问题的系统研究并不多,本文从汉字编码常识出发,分析 Java 中文问题,希望对大家解决这个问题有所帮助。汉字编码的常识我们知道,英文字符一般是以一个字节来表示的,最常用的编码方法是 ASCII
。但一个字节最多只能区分256个字符,而汉字成千上万,所以现在都以双字节来表示汉字,为了能够与英文字符分开,每个字节的最高位一定为1,这样双字节最多可以表示64K格字符。我们经常碰到的编码方式有
GB2312、BIG5、UNICODE 等。关于具体编码方式的详细资料,有兴趣的读者可以查阅相关资料。我肤浅谈一下和我们关系密切的 GB2312 和
UNICODE。GB2312
码,中华人民共和国国家标准汉字信息交换用编码,是一个由中华人民共和国国家标准总局发布的关于简化汉字的编码,通行于中国大陆地区及新加坡,简称国标码。两个字节中,第一个字节(高字节)的值为区号值加32(20H),第二个字节(低字节)的值为位号值加32(20H),用这两个值来表示一个汉字的编码。UNICODE
码是微软提出的解决多国字符问题的多字节等长编码,它对英文字符采取前面加“0”字节的策略实现等长兼容。如 “A” 的 ASCII
码为0x41,UNICODE 就为0x00,0x41。利用特殊的工具各种编码之间可以互相转换。Java 中文问题的初步认识我们基于 Java 编程语言进行应用开发时,不可避免地要处理中文。Java 编程语言默认的编码方式是
UNICODE,而我们通常使用的数据库及文件都是基于 GB2312 编码的,我们经常碰到这样的情况:浏览基于 JSP
技术的网站看到的是乱码,文件打开后看到的也是乱码,被 Java 修改过的数据库的内容在别的场合应用时无法继续正确地提供信息。String sEnglish = “apple”;String sChinese = “苹果”;String s = “苹果 apple ”;sEnglish 的长度是5,sChinese的长度是4,而 s 默认的长度是14。对于 sEnglish来说, Java
中的各个类都支持得非常好,肯定能够正确显示。但对于 sChinese 和 s 来说,虽然 Java Soft 声明 Java
的基本类已经考虑到对多国字符的支持(默认 UNICODE 编码),但是如果操作系统的默认编码不是 UNICODE ,而是国标码等。从 Java
源代码到得到正确的结果,要经过 “Java 源代码-& Java 字节码-&
虚拟机-&操作系统-&显示设备”的过程。在上述过程中的每一步骤,我们都必须正确地处理汉字的编码,才能够使最终的显示结果正确。“ Java 源代码-& Java 字节码”,标准的 Java 编译器 javac 使用的字符集是系统默认的字符集,比如在中文 Windows
操作系统上就是 GBK ,而在 Linux 操作系统上就是ISO-8859-1,所以大家会发现在 Linux
操作系统上编译的类中源文件中的中文字符都出了问题,解决的办法就是在编译的时候添加 encoding 参数,这样才能够与平台无关。用法是javac ?Cencoding GBK。“ Java 字节码-&虚拟机-&操作系统”, Java 运行环境 (JRE) 分英文版和国际版,但只有国际版才支持非英文字符。 Java
开发工具包 (JDK) 肯定支持多国字符,但并非所有的计算机用户都安装了 JDK 。很多操作系统及应用软件为了能够更好的支持 Java ,都内嵌了
JRE 的国际版本,为自己支持多国字符提供了方便。“操作系统-&显示设备”,对于汉字来说,操作系统必须支持并能够显示它。英文操作系统如果不搭配特殊的应用软件的话,是肯定不能够显示中文的。还有一个问题,就是在 Java 编程过程中,对中文字符进行正确的编码转换。例如,向网页输出中文字符串的时候,不论你是用out.println(string);还是用&%=string%&,都必须作 UNICODE 到 GBK 的转换,或者手动,或者自动。在 JSP
1.0中,可以定义输出字符集,从而实现内码的自动转换。用法是&%@page contentType=”text/charset=gb2312” %&但是在一些 JSP 版本中并没有提供对输出字符集的支持,(例如 JSP 0.92),这就需要手动编码输出了,方法非常多。最常用的方法是String s1 = request.getParameter(“keyword”);String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”);getBytes 方法用于将中文字符以“ISO-8859-1”编码方式转化成字节数组,而“GBK”
是目标编码方式。我们从以ISO-8859-1方式编码的数据库中读出中文字符串 s1 ,经过上述转换过程,在支持 GBK
字符集的操作系统和应用软件中就能够正确显示中文字符串 s2 。Java 中文问题的表层分析及处理 背景
Sybase System
Jconnect(JDBC)
?span & .CLASS 文件存放在服务器端,由客户端的浏览器运行 APPLET , APPLET 只起调入 FRAME 类等主程序的作用。界面包括
Textfield ,TextArea,List,Choice 等。I.用 JDBC 执行 SELECT 语句从服务器端读取数据(中文)后,将数据用 APPEND 方法加到 TextArea(TA)
,不能正确显示。但加到 List 中时,大部分汉字却可正确显示。将数据按“ISO-8859-1” 编码方式转化为字节数组,再按系统缺省编码方式 (Default Character Encoding) 转化为
STRING ,即可在 TA 和 List 中正确显示。程序段如下:dbstr2 = results.getString(1);
//After reading the result from DB server,converting it to string.
dbbyte1 = dbstr2.getBytes(“iso-8859-1”);
dbstr1 = new String(dbbyte1);在转换字符串时不采用系统默认编码方式,而直接采用“ GBK” 或者 “GB2312” ,在 A 和 B 两种情况下,从数据库取数据都没有问题。II.处理方式与“取中文”相逆,先将 SQL 语句按系统缺省编码方式转化为字节数组,再按“ISO-8859-1”编码方式转化为 STRING
,最后送去执行,则中文信息可正确写入数据库。程序段如下:sqlstmt = tf_input.getText();
//Before sending statement to DB server,converting it to sql statement.
dbbyte1 = sqlstmt.getBytes();
sqlstmt = newString(dbbyte1,”iso-8859-1”);
_stmt = _con.createStatement();
_stmt.executeUpdate(sqlstmt);
……问题:如果客户机上存在 CLASSPATH 指向 JDK 的 CLASSES.ZIP 时(称为 A
情况),上述程序代码可正确执行。但是如果客户机只有浏览器,而没有 JDK 和 CLASSPATH 时(称为 B 情况),则汉字无法正确转换。我们的分析:1.经过测试,在 A 情况下,程序运行时系统的缺省编码方式为 GBK 或者 GB2312 。在 B 情况下,程序启动时浏览器的 JAVA
控制台中出现如下错误信息:Can't find resource for sun.awt.windows.awtLocalization_zh_CN然后系统的缺省编码方式为“8859-1”。2.如果在转换字符串时不采用系统缺省编码方式,而是直接采用 “GBK” 或“GB2312”,则在 A 情况下程序仍然可正常运行,在 B
情况下,系统出现错误:UnsupportedEncodingException。3.在客户机上,把 JDK 的 CLASSES.ZIP 解压后,放在另一个目录中, CLASSPATH 只包含该目录。然后一边逐步删除该目录中的
.CLASS 文件,另一边运行测试程序,最后发现在一千多个 CLASS 文件中,只有一个是必不可少的,该文件是:sun.io.CharToByteDoubleByte.class。将该文件拷到服务器端和其它的类放在一起,并在程序的开头 IMPORT 它,在 B 情况下程序仍然无法正常运行。4.在 A 情况下,如果在 CLASSPTH 中去掉 sun.io.CharToByteDoubleByte.class
,则程序运行时测得默认编码方式为“8859-1”,否则为 “GBK” 或 “GB2312” 。如果 JDK 的版本为1.2以上的话,在 B 情况下遇到的问题得到了很好的解决,测试的步骤同上,有兴趣的读者可以尝试一下。Java 中文问题的根源分析及解决在简体中文 MS Windows 98 + JDK 1.3 下,可以用 System.getProperties() 得到 Java
运行环境的一些基本属性,类 PoorChinese 可以帮助我们得到这些属性。类 PoorChinese 的源代码:public class PoorChinese {
}执行 java PoorChinese 后,我们会得到:系统变量 file.encoding 的值为 GBK ,user.language 的值为 zh , user.region 的值为 CN
,这些系统变量的值决定了系统默认的编码方式是 GBK 。在上述系统中,下面的代码将 GB2312 文件转换成 Big5 文件,它们能够帮助我们理解 Java 中汉字编码的转化:?
import java.io.*;
import java.util.*;
public class gb2big5 {
static int iCharNum=0;
public static void main(String[] args) {
System.out.println("Input GB2312 file, output Big5 file.");
if (args.length!=2) {
System.err.println("Usage: jview gb2big5 gbfile big5file");
System.exit(1);
String inputString = readInput(args[0]);
writeOutput(inputString,args[1]);
System.out.println("Number of Characters in file: "+iCharNum+".");
static void writeOutput(String str, String strOutFile) {
FileOutputStream fos = new FileOutputStream(strOutFile);
Writer out = new OutputStreamWriter(fos, "Big5");
out.write(str);
out.close();
catch (IOException e) {
e.printStackTrace();
e.printStackTrace();
static String readInput(String strInFile) {
StringBuffer buffer = new StringBuffer();
FileInputStream fis = new FileInputStream(strInFile);
InputStreamReader isr = new InputStreamReader(fis, "GB2312");
Reader in = new BufferedReader(isr);
while ((ch = in.read()) & -1) {
iCharNum += 1;
buffer.append((char)ch);
in.close();
return buffer.toString();
catch (IOException e) {
e.printStackTrace();
?编码转化的过程如下:GB2312------------------&Unicode-------------&Big5执行 java gb2big5 gb.txt big5.txt ,如果 gb.txt 的内容是“今天星期三”,则得到的文件 big5.txt
中的字符能够正确显示;而如果 gb.txt 的内容是“情人节快乐”,则得到的文件 big5.txt
中对应于“节”和“乐”的字符都是符号“?”(0x3F),可见 sun.io.ByteToCharGB2312 和
sun.io.CharToByteBig5 这两个基本类并没有编好。正如上例一样, Java
的基本类也可能存在问题。由于国际化的工作并不是在国内完成的,所以在这些基本类发布之前,没有经过严格的测试,所以对中文字符的支持并不像 Java
Soft 所声称的那样完美。前不久,我的一位技术上的朋友发信给我说,他终于找到了 Java Servlet
中文问题的根源。两周以来,他一直为 Java Servlet
的中文问题所困扰,因为每面对一个含有中文字符的字符串都必须进行强制转换才能够得到正确的结果(这好象是大家公认的唯一的解决办法)。后来,他确实不想如此继续安分下去了,因为这样的事情确实不应该是高级程序员所要做的工作,他就找出
Servlet 解码的源代码进行分析,因为他怀疑问题就出在解码这部分。经过四个小时的奋斗,他终于找到了问题的根源所在。原来他的怀疑是正确的,
Servlet 的解码部分完全没有考虑双字节,直接把 %XX 当作一个字符。(原来 Java Soft 也会犯这幺低级的错误!) 如果你对这个问题有兴趣或者遇到了同样的烦恼的话,你可以按照他的步骤 对Servlet.jar 进行修改: 找到源代码 HttpUtils 中的 static private String parseName ,在返回前将 sb(StringBuffer)
复制成 byte bs[] ,然后 return new String(bs,”GB2312”)。作上述修改后就需要自己解码了:HashTable form=HttpUtils .parseQueryString(request.getQueryString())或者form=HttpUtils.parsePostData(……)千万别忘了编译后放到 Servlet.jar 里面。关于 Java 中文问题的总结Java 编程语言成长于网络世界,这就要求 Java 对多国字符有很好的支持。 Java
编程语言适应了计算的网络化的需求,为它能够在网络世界迅速成长奠定了坚实的基础。 Java 的缔造者 (Java Soft) 已经考虑到 Java
编程语言对多国字符的支持,只是现在的解决方案有很多缺陷在里面,需要我们付诸一些补偿性的措施。而世界标准化组织也在努力把人类所有的文字统一在一种编码之中,其中一种方案是
ISO10646 ,它用四个字节来表示一个字符。当然,在这种方案未被采用之前,还是希望 Java Soft
能够严格地测试它的产品,为用户带来更多的方便。附一个用于从数据库和网络中取出
中文乱码的处理函数,入参是有问题的字符串,出参是问题已经解决了的字符串。 技术应用者提供解决方案
相关主题:这里有数百篇关于 Java 编程各个方面的文章。
添加或订阅评论,请先或。
有新评论时提醒我
static.content.url=http://www.ibm.com/developerworks/js/artrating/SITE_ID=10Zone=Java technologyArticleID=53435ArticleTitle=Java 编程技术中汉字问题的分析及解决publish-date=

我要回帖

更多关于 中国定都北京是错误的 的文章

 

随机推荐