`

使用equals要注意的空指向异常

 
阅读更多
<%
				String name = request.getParameter("name");
				String password = request.getParameter("password");
			%>
			<%
				if("lwh".equals(name)&&"haha".equals(password))
				{
					//合法
			%>
					<jsp:forward page="login_success.jsp"/>
			<%
				}
				else
				{
					//失败
			%>
					<jsp:forward page="login_failure.jsp"/>
			<%
				}
			%>

=====================================================
if("lwh".equals(name)&&"haha".equals(password))
这么写如果name和password是null不会报错误

if(name.equals("lwh")&&passwordequals("haha"))
会报错,因为name和password可能是null值

分享到:
评论

相关推荐

    Java字符串比较方法equals的空指针异常的解决

    在使用equals()方法时,需要注意避免空指针异常,使用 “常量”.equals(变量) 或者 后输入的.equals(之前的) 可以避免空指针错误,并且在编写代码时,需要考虑到变量可能为空的情况,以避免空指针异常的产生。

    1_equals_overridingequals_

    这里使用了Objects.equals方法,它会处理null值的情况,避免了空指针异常。注意,通常在重写equals时,也应该重写hashCode方法,因为这两个方法在很多集合框架中有着密切的关系。如果两个对象根据equals相等,它们的...

    java中hashcode()和equals()的详解.docx

    - **空指针处理**:在实现`equals()`方法时,需要注意处理可能出现的空指针异常,避免程序运行时出现错误。 #### 结论 `hashCode()`和`equals()`方法在Java中的正确实现对于保证程序的正确性和性能都至关重要。...

    C#中的Equals、RefrenceEquals和==的区别与联系

    当我们使用Equals方法时,无论是静态还是实例,都需要特别注意对象的null检查,避免在调用Equals时抛出异常。 2. ReferenceEquals方法 ReferenceEquals方法是用于判断两个对象引用是否完全相同,即是否指向内存中...

    浅谈java中null是什么,以及使用中要注意的事项

    Java 中的 null 是什么,以及使用中要注意的事项 Java 中的 null 是一种特殊的值,它既不是对象也不是一种类型,它可以被赋值给任何引用类型,例如 Integer、Float、String 等。但是,null 不能被赋值给基本类型,...

    Java编写中容易搞错的一些东西.rar

    3. **空指针异常**(NullPointerException):这是Java中最常见的运行时异常之一。当试图访问或操作一个null对象时,就会抛出此异常。在使用对象之前,一定要检查它是否为null。 4. ** equals() 与 == 的区别**:在...

    JAVA中常用类的常用方法.docx

    - 默认情况下,`equals()` 方法用于比较引用是否指向同一个对象(即引用是否相同)。 - 特例:对于 `File`、`String`、`Date` 及封装类等类型,它们覆盖了 `equals()` 方法来比较对象的内容,而非引用本身。 - **...

    提高C#编程水平的50个要点

    9. **相等比较**:理解ReferenceEquals、static Equals、instance Equals以及==操作符的使用场景和区别,它们在处理对象相等性时有不同行为。 10. **GetHashCode()**:这个方法用于哈希表查找,但要注意它不应依赖...

    JAVA程序员面试常见JAVA基础知识

    - **NullPointerException**: 空指针异常,尝试调用空对象的方法或字段。 以上是JAVA面试中常见的基础知识要点,掌握这些知识对于准备面试的JAVA程序员来说至关重要。通过深入理解这些概念,可以帮助开发者更好地...

    Java极品学习资料

    - 当需要更精确地描述错误情况时,可以使用自定义异常。 - 示例代码展示如何定义和使用自定义异常。 **Try-catch-finally的执行顺序** - `try`块首先执行。 - 如果发生异常,则跳转到相应的`catch`块。 - 不论是否...

    Java面试宝典

    16. **代码不妥之处**:未提供具体代码,但常见的问题可能包括类型不匹配、数组越界、空指针异常等。 17. **访问修饰符的区别**:public表示全局可见,private表示仅在本类可见,protected表示在同一包内及子类可见...

    javaSE代码实例

    11.4.2 使用自定义的异常类 213 11.4.3 显性再抛出作用的体现 215 11.5 异常的匹配 217 11.5.1 同时捕获多种异常 217 11.5.2 多个catch语句的先后顺序 218 11.6 断言 219 11.6.1 什么是断言 219 ...

    java总结.txt

    - **注意事项**:如果类没有实现 `Cloneable` 接口,则调用 `clone` 方法会导致 `CloneNotSupportedException` 异常。 - **用途**:用于创建对象的副本,节省创建新对象的时间和空间开销。 - **`toHexString(int...

    整合了所有java经典面试题

    - 要实现`Comparable`接口或使用`Comparator`接口来定义自定义比较逻辑。 15. **用插入法进行排序代码** - 插入排序是一种简单的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后...

    java面试题

    对于字符串`"abc"`和`"abc"`的比较,`==`检查的是两个字符串是否指向内存中的同一对象,而`.equals()`方法检查的是两个字符串的内容是否完全一致。因此,在比较字符串内容时,应使用`.equals()`而不是`==`。 ### 4....

    JAVA面试题总览[整理].pdf

    序列化可能导致安全性问题,反序列化时要注意异常处理。 【JVM知识】 1. 栈内存溢出通常是递归深度过大或局部变量过多导致的。 2. JVM内存分为年轻代(Eden + 两个Survivor区)、老年代和永久代。默认Eden和...

    Java面试中的陷阱

    - **NullPointerException**:空指针异常。 - **NumberFormatException**:数字格式异常,尝试将一个字符串转换成数字时失败。 - **IllegalArgumentException**:非法参数异常,参数不合法或不符合预期。 ...

    corejava_面试题

    运行时异常是那些在Java语言规范中定义为RuntimeException的类,包括空指针异常(NullPointerException)、数组越界异常(ArrayIndexOutOfBoundsException)等,它们是由程序逻辑错误引起的,可以不必显式捕获或声明...

    经典的问题

    - 在使用同步方法或同步代码块时,需要注意对象锁的持有和释放,以避免死锁等问题。 #### 六、常用API **1. StringBuffer与StringBuilder的区别** - `StringBuffer`是线程安全的,适合多线程环境。 - `...

Global site tag (gtag.js) - Google Analytics