java 编写一个方法,比较两个字符串是否相等。假如其中一个字符串为null,会产生NullPointerException,在方法声明中通告该异常,并在适当时候触发这个异常,然后编写一个程序捕获该异常。
时间: 2024-12-12 08:29:09 浏览: 12
在Java中,你可以通过检查字符串是否为`null`来避免`NullPointerException`。首先,你需要在方法声明中明确指定可能会抛出的异常,例如`NullPointerException`。这里是一个简单的例子:
```java
public class Main {
public static void main(String[] args) {
try {
compareStrings(null, "hello"); // 这里会引发异常
} catch (NullPointerException e) {
System.out.println("An exception occurred: " + e.getMessage());
}
}
/**
* 比较两个字符串,如果其中一个为null,则抛出NullPointerException
* @param str1 第一个字符串
* @param str2 第二个字符串
* @throws NullPointerException 如果任何一个字符串为null
*/
public static void compareStrings(String str1, String str2) throws NullPointerException {
if (str1 == null || str2 == null) {
throw new NullPointerException("One or both strings are null");
}
// 如果str1和str2都不为null,再进行实际的比较
if (!str1.equals(str2)) {
System.out.println("The strings are not equal.");
} else {
System.out.println("The strings are equal.");
}
}
}
```
在这个例子中,`compareStrings`方法会在接收到`null`作为输入时立即抛出`NullPointerException`。主函数`main`中使用了`try-catch`块来捕获并处理这个异常。
阅读全文