错误缺少方法中的return语句

时间:2016-02-08 08:43:45

标签: java android database

我想根据名称的fragment获取数据,但为什么错误会带有缺少return语句的描述?

public Cursor getName (String nama){
    Cursor c = db.query(Konstanta.NAMA_TABEL, new String[]{
            Konstanta.ID_ARTIS,
            Konstanta.NAMA_ARTIS,
            Konstanta.GENDER_ARTIS_PRIA,
            Konstanta.GENDER_ARTIS_WANITA,
            Konstanta.TGLAHIR}, Konstanta.NAMA_ARTIS + "LIKE '%" + nama + "%'",
            null, null, null, null, null);
    if (c != null){
        c.moveToFirst();
        return c;
    }
}

4 个答案:

答案 0 :(得分:6)

仅当c不为null时,您的方法才会返回结果。它必须在所有场景中返回结果,即使c为空。

您可以更改

    if (c != null){
        c.moveToFirst();
        return c;
    }

    if (c != null){
        c.moveToFirst();
    }
    return c;

答案 1 :(得分:0)

每个具有返回值的方法都必须返回描述的bean。如果null不为空,则需要返回c或抛出自定义异常。

public Cursor getName (String nama){
        Cursor c = db.query(Konstanta.NAMA_TABEL, new String[]{
                Konstanta.ID_ARTIS,
                Konstanta.NAMA_ARTIS,
                Konstanta.GENDER_ARTIS_PRIA,
                Konstanta.GENDER_ARTIS_WANITA,
                Konstanta.TGLAHIR}, Konstanta.NAMA_ARTIS + "LIKE '%" + nama + "%'",
                null, null, null, null, null);
        if (c != null){
            c.moveToFirst();
            return c;
        }
        throw new IllegalStateException("c is null");
    }

答案 2 :(得分:0)

添加以下行 -

return null;
代码块中的

-

public Cursor getName (String nama){
    Cursor c = db.query(Konstanta.NAMA_TABEL, new String[]{
            Konstanta.ID_ARTIS,
            Konstanta.NAMA_ARTIS,
            Konstanta.GENDER_ARTIS_PRIA,
            Konstanta.GENDER_ARTIS_WANITA,
            Konstanta.TGLAHIR}, Konstanta.NAMA_ARTIS + "LIKE '%" + nama + "%'",
            null, null, null, null, null);
    if (c != null){
        c.moveToFirst();
        return c;
    }

return null;
}

答案 3 :(得分:0)

您的方法必须return光标类型值,但您只在if循环中返回值

这样做:

 public Cursor getName (String nama){
 Cursor c =null;
 c = db.query(Konstanta.NAMA_TABEL, new String[]{
            Konstanta.ID_ARTIS,
            Konstanta.NAMA_ARTIS,
            Konstanta.GENDER_ARTIS_PRIA,
            Konstanta.GENDER_ARTIS_WANITA,
            Konstanta.TGLAHIR}, Konstanta.NAMA_ARTIS + "LIKE '%" + nama + "%'",
            null, null, null, null, null);
    if (c != null){
        c.moveToFirst();
        return c;
    }
   return c;
   }