找到 4330 篇文章 关于 Java 8

为什么我们不能在 Java 的 try/catch 块中初始化静态 final 变量?

Maruthi Krishna
更新于 2019年8月7日 09:11:01

883 次浏览

在 Java 中,您可以声明三种类型的变量,即实例变量、静态变量和局部变量。局部变量 - 在方法、构造函数或代码块内部定义的变量称为局部变量。变量将在方法内部声明和初始化,并且当方法完成时变量将被销毁。类(静态)变量 - 类变量是在类内部、任何方法外部声明的变量,并使用 static 关键字。try 块中的静态方法同样,静态变量属于类,可以在类的任何地方访问,这与局部变量的定义相矛盾。因此,声明 ... 阅读更多

我们如何确定自定义异常在 Java 中应该是已检查的还是未检查的?

Maruthi Krishna
更新于 2020年7月3日 08:02:42

6K+ 次浏览

异常是在程序执行期间发生的错误(运行时错误)。当发生异常时,程序会突然终止,并且生成异常的那一行之后的代码永远不会执行。用户定义的异常您可以在 Java 中创建自己的异常,它们被称为用户定义的异常或自定义异常。要创建用户定义的异常,请扩展上述类之一。要显示消息,请覆盖 toString() 方法,或通过以字符串格式传递消息来调用超类的带参数构造函数。MyException(String msg){    super(msg); } 或者,public String toString(){    return ... 阅读更多

方法是否可以在 Java 中不声明的情况下抛出 java.lang.Exception?

Maruthi Krishna
更新于 2019年8月6日 11:39:12

176 次浏览

否,为此,要显式抛出任何异常,您需要创建该异常的对象并使用 throw 关键字抛出它。如果不创建对象,则无法显式抛出异常,您可能会创建一个导致相应异常的情况。示例以下 Java 程序抛出 NullPointerExceptionpublic class ExceptionExample {    public static void main(String[] args) {       System.out.println("Hello");       NullPointerException nullPointer = new NullPointerException();       throw nullPointer;    } }输出Hello Exception in thread "main" java.lang.NullPointerException    at MyPackage.ExceptionExample.main(ExceptionExample.java:6)

如何在 Java 中的自定义异常中添加条件?

Maruthi Krishna
更新于 2019年8月6日 11:37:29

638 次浏览

在构造函数或任何方法中读取用户的值时,您可以使用 if 条件验证这些值。示例在以下 Java 示例中,我们定义了两个自定义异常类来验证姓名和年龄。import java.util.Scanner; class NotProperAgeException extends Throwable{    NotProperAgeException(String msg){       super(msg);    } } class NotProperNameException extends Throwable{    NotProperNameException(String msg){       super(msg);    } } public class CustomException{    private String name;    private int age;    public static boolean containsAlphabet(String name) {       for (int i = 0; i < name.length(); i++) {          char ch = name.charAt(i);          if (!(ch >= 'a' && ch

如何在 Java 中抛出异常后循环程序?

Maruthi Krishna
更新于 2019年8月6日 11:33:47

3K+ 次浏览

读取输入并在方法中执行所需的计算。将导致异常的代码保留在 try 块中,并在 catch 块中捕获所有可能的异常。在每个 catch 块中显示相应的消息并再次调用该方法。示例在以下示例中,我们有一个包含 5 个元素的数组,我们从用户那里接受两个整数,分别表示数组中的位置,并对它们执行除法运算,如果输入的表示位置的整数大于 5(异常的长度),则会发生 ArrayIndexOutOfBoundsException,如果为分母选择的位置为 4,即 0 ... 阅读更多

如何在 Java 中打印自定义消息而不是 ErrorStackTrace?

Maruthi Krishna
更新于 2020年7月2日 15:03:02

3K+ 次浏览

异常是在程序执行期间发生的错误(运行时错误)。当发生异常时,程序会突然终止,并且生成异常的那一行之后的代码永远不会执行。打印异常消息您可以使用以下继承自 Throwable 类的其中一种方法在 Java 中打印异常消息。printStackTrace() - 此方法将回溯打印到标准错误流。getMessage() - 此方法返回当前 throwable 对象的详细消息字符串。toString() - 此消息打印当前 throwable 对象的简短描述。示例import java.util.Scanner; public class PrintingExceptionMessage { ... 阅读更多

Java 数组何时抛出 NullPointerException?

Maruthi Krishna
更新于 2020年7月2日 14:40:03

3K+ 次浏览

在 Java 中,每种类型都有默认值,当您不初始化类的实例变量时,Java 编译器会代表您使用这些值初始化它们。Null 是对象类型的默认值,您也可以在方法中手动将 null 分配给对象。Object obj = null;但是,如果您使用具有 null 值的对象或(对象而不是 null 值),则会抛出 NullPointerException。示例public class Demo {    String name = "Krishna";    int age = 25;    public static void main(String args[]) {       ... 阅读更多

为什么我可以在 Java 中抛出 null,以及为什么它会向上转换为 NullPointerException?

Maruthi Krishna
更新于 2020年7月2日 14:42:59

1K+ 次浏览

在 Java 中,每种类型都有默认值,当您不初始化类的实例变量时,Java 编译器会代表您使用这些值初始化它们。Null 是对象类型的默认值,您也可以在方法中手动将 null 分配给对象。Object obj = null;但是,如果您使用具有 null 值的对象或(对象而不是 null 值),则会抛出 NullPointerException。示例public class Demo {    String name = "Krishna";    int age = 25;    public static void main(String args[]) {       ... 阅读更多

IllegalStateException 和 IllegalArgumentException 何时被抛出?在 Java 中?

Maruthi Krishna
更新于 2019年8月6日 11:11:11

1K+ 次浏览

IllegalStateException:当您在非法或不适当的时间调用方法时,会生成 IlleagalStateException 异常。例如,ArrayList 类的 remove() 方法在调用 next() 或 previous 方法后删除最后一个元素。在删除当前位置的元素后,您需要移动到下一个元素才能删除它,即每次调用 next() 方法,您只能调用一次此 remove() 方法。由于列表的初始位置(指针)将在第一个元素之前,因此您不能在不调用 next 方法的情况下调用此方法。如果您在其他情况下调用 remove() 方法 ... 阅读更多

如何自动在 Java 的 'if' 条件内部处理 IllegalArgumentException?

Maruthi Krishna
更新于 2020年7月2日 14:44:42

836 次浏览

每当您向方法或构造函数传递不合适的参数时,都会抛出 IllegalArgumentException。它是一个运行时异常,因此无需在编译时处理它。示例java.sql.Date 类的 valueOf() 方法接受一个表示 JDBC 转义格式 yyyy-[m]m-[d]d 中的日期的字符串,并将其转换为 java.sql.Date 对象。import java.sql.Date; import java.util.Scanner; public class IllegalArgumentExample {    public static void main(String args[]) {       Scanner sc = new Scanner(System.in);       System.out.println("请输入您的出生日期,使用 JDBC 转义格式 (yyyy-mm-dd)");       String dateString = sc.next();   ... 阅读更多

广告