首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在android中使用assert?

如何在android中使用assert?
EN

Stack Overflow用户
提问于 2011-05-30 20:43:52
回答 6查看 71.5K关注 0票数 79

我想在安卓设备上使用assert obj != null : "object cannot be null"。断言似乎不起作用,所以我在网上搜索,找到了这个本地解决方案:

adb shell setprop debug.assert 1

它可以在我的本地机器上工作。

我想使用我的Eclipse项目运行这个命令(所以它应该在源代码控制中)。我该怎么做呢?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-05-30 20:52:53

Assert在Android中是行不通的,因为大多数时候人们不是在调试模式下运行,而是在一些优化的代码中运行。因此,正确的解决方案是手动抛出异常,代码如下:

if (obj==null) throw new AssertionError("Object cannot be null");

应该注意,根据设计,断言是用于调试代码的,而不是用于发布时代码的。因此,这可能不是抛出断言的最佳用法。但你还是可以这样做的,所以...

票数 93
EN

Stack Overflow用户

发布于 2012-04-19 19:24:40

在Android 4.x设备上测试,可以在Android设备上使用Java assert:

debug.assert=1

  • Reboot phone编辑//
  • (例如,通过X-plore),在文件末尾添加行:X-plore phone

现在你的Android设备可以明智地断言检查,并在断言检查失败时抛出AssertionError。

编辑:

另一种简单的方法是从PC启用断言,直到设备重启:

platform-tools\adb shell setprop debug.assert 1

例如,您可以创建一个.bat文件(在Windows上),并在连接设备时运行它。

票数 13
EN

Stack Overflow用户

发布于 2016-05-13 18:53:34

创建您自己的assert方法:

public static <T> T assertNotNull(T object) {
    if (object == null)
        throw new AssertionError("Object cannot be null");
    return object;
}

为了简洁起见,返回相同的对象允许在赋值中使用它。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6176441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档