Java 中的断言是什么以及何时应该使用它们?

2024-01-30

有哪些现实生活中的例子了解Java的关键作用assert关键词?


断言 http://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.10(通过assert关键字)是在 Java 1.4 中添加的。它们用于验证代码中不变量的正确性。它们永远不应该在生产代码中触发,并且表明代码路径存在错误或误用。它们可以在运行时通过以下方式激活-ea上的选项java命令,但默认情况下不打开。

一个例子:

public Foo acquireFoo(int id) {
    Foo result = (id > 50) ? fooService.read(id) : new Foo(id);

    assert result != null;

    return result;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 中的断言是什么以及何时应该使用它们? 的相关文章

随机推荐

  • 输入一系列音符并播放它们

    我和我的儿子正在尝试编写一个程序 允许用户输入一系列音符 并将它们保存到要播放的列表中 我们提出了以下方案 import math import needed modules import pyaudio sudo apt get inst
  • node-webkit 相当于 sinatra 吗?

    我一直在考虑学习如何基于 Web 技术制作简单的 Mac OS X 应用程序 并且我遇到了似乎很有吸引力的 node webkit 然而 我最近投入了学习 Sinatra Ruby 的基础知识 并且我想继续学习该课程 对于使用 Sinatr
  • Objective C 协议相当于 Java 接口吗?

    问题不仅仅是关于标题 更多的是 我将如何实现这一目标 而不试图将 Java Flash 设计强制到 Objective C iPhone 程序中 我有 6 个扩展 UIView 的视图 这些视图都有不同的行为 但共享某些方法 例如 void
  • 在相机视图上显示自定义按钮

    有谁知道是否有一种方法可以在相机视图上粘贴自定义按钮 以允许用户像 oink 或 instagram 一样从其库中选择照片 而无需创建自定义视图 谢谢 Edit 使用覆盖层添加按钮似乎很容易 有谁知道如何实际显示照片库并使用该人选择的内容
  • KendoMobile ui 模板不渲染 css 如何使模板在视图中使用 kendo stylng 进行渲染?

    基本上模板不会使用以下方式渲染到 ScrollViewkendo render template response 但会与content template response 但这没有视图中的样式 请参阅下面的评论 如何使模板在视图中呈现剑道
  • Animate.spring 完成后调用函数

    我正在使用动画以便弹出窗口从右侧进入 我为此使用以下代码 var toValue 200 if this state fileMenu toValue 0 Animated spring this state bounceValue toV
  • Cgo 找不到像 这样的标准库

    我试图在我的 Go 代码中包含 C 代码 但未被识别 我首先认为它认为它是 C 代码并尝试 并失败 编译 但删除包含行实际上给了我这样的 C 错误故障排除error cout is not a member of std 该代码可以使用 g
  • 为什么从 .dll 导入函数时需要 .lib 文件?

    你能帮我理解 为什么从 dll 导入函数和数据时需要 lib 文件吗 我听说它包含来自相应 dll 的导出函数和数据元素的列表 但是当我使用 CFF Explorer 探索我的 dll 时 我发现 dll 已经具有导出函数的地址 因此理论上
  • 导致运行时异常在控制台输出中使用 println 正确排序

    VM Java 控制台输出的一个常见问题是 System out 和 System err 通常未正确同步 可能是因为它们位于不同的线程上 这会导致混合输出 如下所示 调试输出与运行时异常堆栈跟踪混合在一起 8 1 3 5 9 13 15
  • IBOutlets 在 Xamarin.iOS 中为私有的原因是什么

    生成的 Designer cs 属性默认是私有的 至少不需要手动调整生成的代码 这使得针对 UITableViewCell 等内容进行编码与在 Objective C 中进行编码相比有很大不同 对于 UIxxxViewCells 来说 流行
  • 无法解析:org.jitsi.react:jitsi-meet-sdk:+

    我正在尝试将 Jitsi Meet Android SDK 集成到本机 Android 中的一个简单项目中 但无法构建并引发以下错误 Failed to resolve org jitsi react jitsi meet sdk 我跟着j
  • pthread_join 损坏堆栈中的 pthread_create 参数

    我从一本高级 Linux 编程书中得到了这段代码 当我尝试在Linux 64位环境下执行代码时 which prime之后变量被损坏 更改为 0 pthread join 函数调用 在这个例子中为什么值which prime运行 pthre
  • 获取 MongoDB 中特定字段平均值的最快方法

    假设我有一个如下所示的数据集 id ObjectId 4dd51c0a3f42cc01ab0e6506 views 1000 status 1 id ObjectId 4dd51c0e3f42cc01ab0e6507 views 2000
  • 底部导航菜单单击图标选择

    我认为相关的两个问题 背景 我有三个底部导航项 它们导致其他布局和活动 其中之一是 家 在 Home 中 执行 onClick 时 会打开选定的活动和布局 但选定的图标仅在单击时突出显示 然后突出显示 Home 如果再次按下 则会突出显示选
  • 如何清除ResourceBundle缓存

    这是一个使用 Guice 在 Tomcat 上运行的 Web 应用程序 根据文档我们应该能够调用ResourceBundle clearCache 清除 ResourceBundle 缓存并大概从包属性文件中获取最新的信息 我们还尝试了以下
  • 使用 nametuple._replace 和变量作为字段名

    我可以使用变量引用命名元组字段吗 from collections import namedtuple import random Prize namedtuple Prize left right this prize Prize Fir
  • 如何确定 Asp.net 页面中包含的重复 Javascript 函数

    我有一个使用一些 javascript 函数的应用程序 由于所有的 javascript 都包含在母版页中 因此页面附带的大多数 javascript 都是不必要的 并且其中一些是重复的 因为在某些不同的 JS 文件中使用 所以我想检查是否
  • 左值到右值的转换何时发生、如何工作以及是否会失败?

    我看到在整个 C 标准的许多地方都使用了术语 左值到右值转换 据我所知 这种转换通常是隐式完成的 标准措辞的一个 对我而言 意想不到的特征是 他们决定将左值到右值视为一种转换 如果他们说左值而不是纯右值总是可以接受的怎么办 这句话实际上有不
  • 模拟杀死模拟器中的活动

    我想测试一下onSaveInstanceState and onRestoreInstanceState对于我的模拟器上的应用程序 我已经发现this https stackoverflow com questions 2355884 ho
  • Java 中的断言是什么以及何时应该使用它们?

    有哪些现实生活中的例子了解Java的关键作用assert关键词 断言 http docs oracle com javase specs jls se8 html jls 14 html jls 14 10 通过assert关键字 是在 J