在开发Java软件时可能会遇到许多类型的错误,但大多数可以避免。我们列举了50个最常见的Java软件错误,其中包含代码示例和教程,以帮助您解决常见的编码问题。
编译器错误消息在Java软件代码在编译器执行时产生。需要重点记住的是,一个编译器可能为一个错误抛出多个错误消息。所以修复第一个错误并重编译,就能修复很多的问题。
(使用IDE,注)在代码行前的提示中检查。这种Java软件错误不要由编译器来关注,应该把更后面的工作交给它。
有时候一个字符,比如一个左括号不应该写在Java代码的开始处。这样造成的结果是开发者不会写右括号去凑成一对。
“未封闭的String表达式”错误消息发生在Sting表达式结束时没有引号标记,错误消息将在发生错误的同一行提示出来。一个String表达式在源码中是一个值。
String表达式结束时没有使用引号标记。这种错误只要在String表达式结束是使用引号就能简单的改正
String表达式超过一行时。长的String表达式可以被拆分成多个表达式,然后用+连接起来。
出现“非法表达式开头”错误的原因有很多。但它最终归类于一个不太有用的错误消息之一。有些开发者说这是由糟糕的代码造成的。
通常,创建表达式是用于生成新值或为变量赋值。编译器期望找到一个表达式,但找不到它,因为语法不符合预期。在下面这些语句中可以找到此错误。
这是一个非常常见的问题,因为Java中的所有标识符都需要在使用之前进行声明。当编译代码时,编译器并不理解标识符的含义。
“公共类X应该在文件中出现”这个消息出现在类X和Java程序文件名不一致时。源代码只有在类名和Java文件名一样时才会被编译。
“不兼容的类型”是在赋值语句中尝试将变量与类型表达式匹配时触发的逻辑错误。通常是在代码尝试将文本字符写入到整数中时出现,反之亦然。这不是Java语法错误。
构造函数名称不需要说明返回类型。但是,如果构造函数名称中出现错误,那么编译器会将构造函数视为没有指定类型的方法。
方法在被调用时期望获取在方法声明中定义的某些参数。检查方法声明、谨慎调用方法,以确保声明和调用的参数是兼容的。
当一个方法缺少返回语句时,会发生“缺少返回语句”错误。每一个有返回值的方法(非void类型)必须有一句字面上的语句用以返回返回值,以便在方法外调用该值。
当将超过一个变量可以保存的信息分配给该变量时,会发生“精度可能丢失”问题。如果发生这种情况,超出的信息将会被扔掉。如果这样做没问题,那么代码需要将变量显式地声明为新类型。
这个错误信息经常发生在Java程序缺少“}”符号时。通常在代码末加上“}”符号能很快解决这个问题。
“语句不可达”发生在当语句被放在一个不会被执行的时候。通常是在break语句或return语句后面。
这个问题发生在当方法内局部变量在声明时没有被初始化的时候。当一个变量未被初始化但是出现在if语句中的时候会发生该错误。
当Java代码尝试使用string类型进行数学计算时会经常出现这个问题。为了解决它,string需要为integer或float。
当一个返回类型为void的方法尝试返回任何值的时候就会发生这个Java错误,例如下面的例子:
通常改变方法签名,使之和返回语句的返回类型相配就能解决这个问题。在上述例子中,void可以改为int:
当数组已声明但未初始化时,你将得到“(array)X未初始化”的消息。数组的长度是固定的,因此每个数组都需要按照实际长度进行初始化。
现在我们已经讨论了编译器错误,下次我们将深入讨论各种可能出现的运行时异常,这些异常会浪费你一整天时间。就像本部分,它们将包含代码块、解释和相关链接,以帮助您尽快修复代码。
推荐:
网友评论 ()条 查看