c#于Java关于返回值的区别
我搞c#代码的时候,如果我的有返回值的方法,没有一个默认的返回值,只有判断条件中,会报错。Java里是我的判断条件里有返回值,那么我不能再在末尾写一个返回值,还会报错。我...
我搞c#代码的时候,如果我的有返回值的方法,没有一个默认的返回值,只有判断条件中,会报错。Java里是我的判断条件里有返回值,那么我不能再在末尾写一个返回值,还会报错。我觉得c#的机制是有优势的,更安全。这是Java于c#的语言设计思路不同?
private static boolean empty(Object object) {
if(null == object){
return true;
}else{
return false;
}
}
这是一段Java的。
这是没有错的。
如果我在最后一行,加一个return false,会报错
private static boolean empty(Object object) {
if(null == object){
return true;
}else{
return false;
}
}
大概意思不变,这段是c#的,这段会报错。因为没有一个默认的返回值,必须要加一个return false在最后一行才不会报错。 展开
private static boolean empty(Object object) {
if(null == object){
return true;
}else{
return false;
}
}
这是一段Java的。
这是没有错的。
如果我在最后一行,加一个return false,会报错
private static boolean empty(Object object) {
if(null == object){
return true;
}else{
return false;
}
}
大概意思不变,这段是c#的,这段会报错。因为没有一个默认的返回值,必须要加一个return false在最后一行才不会报错。 展开
2个回答
展开全部
完全没懂题主在说什么,试贴代码举例说明。
【针对问题补充的回答】
1、Java 那个不叫报错,而叫警告,因为你最后的 return false; 是一段 JVM 无法访问到的语句。所谓无法访问,即无论怎样执行,都不会进入的代码段(比如死循环之后的代码段、或是在进入之前就已经 return 或 break 了)。这时候IDE会给出警告。
2、C# 那个也不应该报错才对,反倒是加上 return false; 后应该给出"无法访问到的语句"警告。原因同上。实测在 VS 2010、2012、2013、2015 + .NET 2.0、3.5、4.0、4.5、4.6 下均是如此。不知是否是题主的 IDE 有问题。如图:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询