短路逻辑操作是指当运算符前面的操作数出现对于该操作有决定性意义的值(如:逻辑与是false,逻辑或是true)时,将不再对运算符后面的操作数进行验证,如:String s = null; if (s != null && s.equals("test")) { ...... }因为s != null已经为false,则s.equals("test")将不会被执行,而本逻辑运算直接返回false而你说的逻辑运算符会将逻辑运算完成后返回运算值,如:String s = null; if (s != null & s.equals("test")) { ...... }此时虽然s != null已经为false,但依然要执行s.equals("test")运算,其结果是抛出NullPointException
if (s != null && s.equals("test")) {
......
}因为s != null已经为false,则s.equals("test")将不会被执行,而本逻辑运算直接返回false而你说的逻辑运算符会将逻辑运算完成后返回运算值,如:String s = null;
if (s != null & s.equals("test")) {
......
}此时虽然s != null已经为false,但依然要执行s.equals("test")运算,其结果是抛出NullPointException
什么情况下用到"&&","||"呢?
牵扯到图形界面偶用JCreator
牵扯到EJB和联调,偶用JBuilder8