gpt4 book ai didi

java - Java 中的 NSNotFound 等效项

转载 作者:行者123 更新时间:2023-12-02 08:10:58 25 4
gpt4 key购买 nike

我需要知道是否有一种方法可以表明在 Java Android 中找不到 int 类型。我正在编写一个android应用程序,它实际上是首先为Iphone编写的,并且有一个小问题。在某些时候,我必须检查返回方法的 int 类型是否未找到,如果是,则进行一些计算。问题是,当我在 Java 中使用 if(Id==0) 执行此操作时,即使 Id 为 0,它也会抛出异常。

这是我的方法:

    private static int localUserIdByServerUserId(int serverUserId, String serverName){

dbHelper = new DataBaseHelper(context, "stampii_sys_tpl.sqlite", null, 1);
dbHelper.getDatabase();

String query = "SELECT id FROM users WHERE objectId = "+serverUserId+" AND serverName = '"+serverName+"' LIMIT 1";
ArrayList<String> result = new ArrayList<String>();
cursor = dbHelper.executeSQLQuery(query);
cursor.moveToFirst();
while(!cursor.isAfterLast()) {
result.add(cursor.getString(cursor.getColumnIndex("id")));
cursor.moveToNext();
}

Log.i("result ","Result : "+result.toString());
Log.i("CURSOR ","Cursor Position : "+cursor.getPosition());
int uuid = Integer.parseInt(result.get(cursor.getColumnIndex("objectId")+1));
Log.w("localUSerByIdServerUserId","LocalUserByIdServerUserId result : "+uuid);
cursor.close();
return uuid;

这是我的使用方法:

int uuId = rpc.lUserIdByServerUserId(userId,newServerName);
Log.w("uuId","uuId : "+uuId);
if(uuId==0){
// do some calculations
}

有什么建议吗?

最佳答案

lUserIdByServerUserId() 当找不到用户时可能会引发异常。

例如

try {
int uuId = rpc.lUserIdByServerUserId(userId,newServerName);
Log.w("uuId","uuId : "+uuId);
}
catch (NotFoundException nfe) {
// do some calculations
}

您需要修改lUserIdByServerUserId()以引发异常。如果 Java 库中尚不存在合适的异常,您可能还需要定义自己的 NotFoundException 类。

编辑:或者,根据 @mthpvg 的回答,您可以更改 lUserIdByServerUserId() 以返回 Integer 类型,如果不是,可以将其设置为 null发现并测试。

例如

Integer uuId = rpc.lUserIdByServerUserId(userId,newServerName);
if (uuId == null) {
// Do some calculations
}

关于java - Java 中的 NSNotFound 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7445540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com