Java 错误无法从int转换为boolean
我面临无法从int转换为boolean的错误,下面是我遇到这个问题的代码Java 错误无法从int转换为boolean,java,Java,我面临无法从int转换为boolean的错误,下面是我遇到这个问题的代码 private boolean seeDB() { int i = 1; SQLiteDatabase localSQLiteDatabase = null; try { localSQLiteDatabase = SQLiteDatabase.openDatabase(DB_PATH + DB_NAME, null, 1); localSQLiteDatabas
private boolean seeDB()
{
int i = 1;
SQLiteDatabase localSQLiteDatabase = null;
try
{
localSQLiteDatabase = SQLiteDatabase.openDatabase(DB_PATH + DB_NAME, null, 1);
localSQLiteDatabase = localSQLiteDatabase;
label01:
if (localSQLiteDatabase != null)
localSQLiteDatabase.close();
if (localSQLiteDatabase != null);
while (true)
{
return i;
}
}
catch (SQLiteException localSQLiteException)
{
break label01;
}
}
您的方法返回类型
boolean
private boolean seeDB()
您将返回int
return i;
所以这个错误是正确的
另一个错误是
if (localSQLiteDatabase != null); <--
假设您的方法返回布尔值:
private boolean seeDB()
但您返回的是int
return i;
i被定义为int
int i = 1;
您的方法返回类型是布尔值,您试图返回int值是的,问题在于:
while (true)
{
return i;
}
该方法声明为返回boolean
,但i
声明为int
。那是行不通的。您需要将返回类型更改为int
,或者确定何时返回true
,何时返回false
此外:
的值始终为1i
- 您在
循环中返回它,这是毫无意义的while(true)
- 据我所知,您在
块中破坏标签的方法是无效的catch
- 这里有一个毫无意义的
语句:if
if (localSQLiteDatabase != null);
使用此代码,您实际上想要实现什么?老实说,它看起来只是一个糟糕的反编译代码。我建议你从头开始,明确你想要达到的目标,然后从那里开始。您当前的代码非常混乱,没有任何帮助。如果i是一种标志类型,那么它应该是boolean而不是int类型。您的方法的返回类型是booelan。使用int-type作为i的具体原因
-Ria您已声明此方法返回布尔值。但是您返回的是已声明为int的
i
。您返回的是int
。您应该返回一个布尔值。将返回类型从boolean
更改为int
或调整逻辑。(从只运行一次的循环和随机标签表达式判断——我认为后者将是一种更强的方法。)您可以根据I return的值将返回类型更改为int(或),返回一个布尔值(true或false)。此外,您可能需要重新考虑将return I
封装在while(true)中
-这似乎没什么意义,因为不会发生循环。我还认为,您不希望分号出现在上方的行中,而(true)
。最后一行是localSQLiteDatabase=localSQLiteDatabase代码>什么都不做。这一定是我见过的最糟糕的代码之一。你到底想干什么?几秒钟之内就打败了我,+1:-)@sᴜʀᴇsʜᴀᴛᴛᴀ 请你告诉我我的方法应该是什么样的好运气,我找到了我的mistake@AbrahimNeil伟大的很乐意帮忙。但千万不要不解释你的问题。:)
if (localSQLiteDatabase != null);