java for循环 判断条件为空时 构造方法为啥不需要返回值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java for循环 判断条件为空时 构造方法为啥不需要返回值相关的知识,希望对你有一定的参考价值。

public class TestReturn
public int test1()
System.out.println("无返回值类型的return语句");
int i;
for (i=0;;i++)
if(i==4)
return i;

System.out.println("i="+i);


public String test2()
System.out.println("有返回值类型的return语句");
return "HelloJava";

public static void main(String[]args)
TestReturn t=new TestReturn();
t.test1();

//System.out.println(t.test1());
System.out.println(t.test2());


for (i=0;;i++)
if(i==4)
return i;

System.out.println("i="+i);

不是已经返回了吗?

返回值不一定要写在方法最下边啊 只要各个运行流程分支中都存在返回值就可以编译。
这里for循环判断条件为空,则条件永真成为死循环方法根本不会自然结束,有没有return虚拟机
也读不到,在最后加入return语句反而会因为Unreachable code ,不能达到的代码而无法编译
参考技术A 构造方法是不需要返回值的,而且是不能要的,这是规定,没有为什么追问

上面说错了,应该是构造函数

追答

构造方法就是构造函数啊
在java里面,一个函数就是一个方法的

参考技术B 你这个方法没有结束返回值,在最后的花括号里面加一个return 就行了
public int test1()
System.out.println("无返回值类型的return语句");
int i;
for (i=0;;i++)
if(i==4)
return i;

System.out.println("i="+i);

return 0;
参考技术C 永真。。。。
当然不要

mybatis 如何判断数组是不是为空,空时不循环数组

mybatis代码
--------------------------------------------
<if test="search.dataforArray != null">
and datefor in
<foreach item="search.dataforArray" index="index" collection="search.dataforArray" open="(" separator="," close=")">#search.dataforArray</foreach>
</if>
---------------------------------------------
如果数组为空时出现错误
nested exception is org.apache.ibatis.builder.BuilderException: The expression 'search.dataforArray' evaluated to a null value.

请问如何修改呢?

答案:

    &lt;if test="search.dataforArray != null"&gt; 
    and datefor in ;

    &lt;foreach item="item" index="index";

    collection="search.dataforArray";

    open="("separator="," close=")"&gt;#item&lt;/foreach&gt; 

    &lt;/if&gt。

循环体中的具体对象:支持属性的点路径访问,如item.age,item.info.details,具体说明:在list和数组中是其中的对象,在map中是value,collection,要做foreach的对象,作为入参时,List<?>对象默认用list代替作为键,数组对象有array代替作为键,Map对象没有默认的键。当然在作为入参时可以使用@Param("keyName")来设置键,设置keyName后,list,array将会失效。
除了入参这种情况外,还有一种作为参数对象的某个字段的时候。

参考技术A 试试
<if test="search.dataforArray != null">
and datefor in
<foreach item="item" index="index" collection="search.dataforArray" open="(" separator="," close=")">#item</foreach>
</if>本回答被提问者和网友采纳
参考技术B 这个<if test="search.dataforArray != null">
改为:
<if test="search.dataforArray != null and search.dataforArray !=''" >
参考技术C 朋友,请问最后是怎么解决的呢 这样貌似也不行 为空的时候还是进入了下面的条件语句 参考技术D <if test="search.dataforArray != null and search.dataforArray.length>0 ">

以上是关于java for循环 判断条件为空时 构造方法为啥不需要返回值的主要内容,如果未能解决你的问题,请参考以下文章

c#用for循环textbox判断是不是为空

我想用for循环判断一下页面中多个文本框是不是为空怎么做?

mybatis 如何判断数组是不是为空,空时不循环数组

mybatis如何判断空时不循环数组是不是为空?

百度问问java如何判断对象是不是为空时,报空指针异常,如何解决?

如何用JS判断div中内容为空,当为空时隐藏div