s.equals("")和"".equals(s)之间有什么区别

use*_*803 3 java string equals

首先:s.equals("")和之间有什么区别"".equals(s)

第二:如果我要执行其中一项功能会怎样?"".substring(1)要么"".charAt(0)

dun*_*nni 7

关于等于,当涉及结果时,两个等于变体之间没有差异.但是,第二个是nullsafe.如果s为null,则第一个将抛出NullPointerException,第二个变量将仅计算为false.


Dou*_*las 5

第一个问题:如果s不是null,则没有区别。如果snull,则s.equals("")抛出NullPointerException一会儿才"".equals(s)返回false

第二:这两个都会抛出一个IndexOutOfBoundsException.