2016-08-15 20 views
0

我正在开发一个简单的测验解答应用程序,并且在数据库中存在问题和测验之间的多对一关系,以便单个测验可以分配多个问题。在Sugar ORM中,count()方法是否有任何原因需要使用String []参数而不是String ...?

为了得到一个测验的每一个问题,我简单地调用:

Question.find(Question.class, "quiz = ?", String.valueOf(quiz.getId())); 

虽然有时,我想知道有多少问题存在,我以为我可以这样做:

Question.count(Question.class, "quiz = ?", String.valueOf(quiz.getId())); 

不幸的是,不像find()SugarRecord.count()方法接受的String列数组,所以我要叫它像:

Question.count(Question.class, "quiz = ?", new String[]{String.valueOf(quiz.getId())}); 

在API中这种不一致是否有任何原因?

回答

1

原因是使用重载。有一个方法groupBy, orderBylimit。哑,哑,哑。

public static <T> long count(Class<T> type); 
public static <T> long count(Class<T> type, String whereClause, String[] whereArgs); 
public static <T> long count(Class<T> type, String whereClause, 
     String[] whereArgs, String groupBy, String orderBy, String limit); 

然而让自己:

public static <T> long countWhere(Class<T> type, String whereClause, String... whereArgs) { 
    return Question.count(type, whereClause, whereArgs); 
} 
+0

唉,我没有注意到,谢谢。这让我很难过,真是丑陋。 – Jezor

相关问题