- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Java 中, boolean 包装类包含一个名为 booleanValue()
的方法返回 boolean 对象值的 boolean 原始类型。
对此我感兴趣的是,Java 编译器识别这个 booleanValue() 方法,并在需要 boolean 值时每当使用 boolean 值时自动添加它;例如,如果您编写类似 if (something)
的 if 语句其中 something
是一个 boolean 对象,然后编译代码并反编译结果,你会看到代码现在是if (something.booleanValue())
.这几乎就像编译器认识到 Boolean Object 类具有 booleanValue() 方法这一事实并自动将其以与它可以添加 toString()
相同的方式放置。到字符串加法表达式中添加的任何对象的末尾。
所以,我的问题是如何在自定义对象类中使用它?有没有一种方法可以使用booleanValue()
来创建对象类?或 intValue()
编译器以与 Boolean 和 Integer 等包装类相同的方式识别方法?
我发现 boolean 对象类只实现了两个接口(interface):Comparable<Boolean>
和 Serializable
.由于这些都不包含 booleanValue()
方法,我不明白 Java 编译器如何识别 booleanValue()
Boolean Object 类中的方法并按照它的方式使用它。我尝试简单地制作一个 booleanValue()
我的自定义 Object 类中的方法并尝试将 Object 用作 boolean 值,但无济于事。
有什么想法吗?
最佳答案
你问题中的关键句子是
that is recognized by the compiler
除非您编写自己的编译器,否则您无法让编译器做任何事情。 booleanValue()
起作用的事实是因为 Java Language Specification requires it.
If
r
is a reference of typeBoolean
, then unboxing conversion convertsr
intor.booleanValue()
关于java - 如何使对象像 boolean 值一样使用 booleanValue()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23100195/
在 Java 中, boolean 包装类包含一个名为 booleanValue() 的方法返回 boolean 对象值的 boolean 原始类型。 对此我感兴趣的是,Java 编译器识别这个 bo
我有一个返回 true/false/null 的函数 foo()。 我有这段代码: Boolean flag = foo(); if (flag != null){ ..... } 检查 if 语句时
是否有任何理由以这种方式检查 Java 中的 boolean 值(Android 首选项值)(在遗留代码中找到了这一点): Boolean isOn = isActivated(); if ( isO
所以,我看到了这行代码: Boolean variable = false; /* ..stuff.. */ if(variable.booleanValue() == false) { /* ..m
我正在尝试使应用程序能够在 Sql Server 和 PostgreSQL 上运行。 我似乎找不到一个通用的表达方式,基本上就是 select * from table where booleanc
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 3 年前。 所以我正在编写一个翻译应用程序,
我是一名优秀的程序员,十分优秀!