private String getDefaultValue() {
boolean hasSetDefaultValues = setDefaultValues();
//String theDefaultValue = null;
if (hasSetDefaultValues) {
String defaultValue = myHelper.getDefaultValue();
boolean isNotNull = defaultValue != null;
boolean hasLength = false;
if (isNotNull) {
hasLength = defaultValue.length() > 0;
}
boolean isValidServer = isNotNull && hasLength;
if (isValidServer) {
Log.d("skt", "inside" + defaultValue);//<-- This gets printed
//theDefaultValue = defaultValue;
return defaultValue;//Comment this when uncommenting line above
}
}
//return theDefaultValue;
return null;//Comment this when uncommenting line above
}
我调试了代码。日志语句在if语句中打印。但是它下面的return
语句不执行,而是转到最外面的return
并返回null
。
如果我取消注释注释代码,那么我将获得正确的值,但最外面的return
仍然可以正常工作。
我正在使用Java 1.8.0_111
Android 5.1
Android studio 1.5版
TLDR;内部return
无法正常工作