首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否有返回true,false或unknown的Java约定?

在Java编程语言中,没有明确的约定来返回true、false或unknown。但是,您可以使用以下方法来实现这个功能:

  1. 使用布尔类型(boolean):布尔类型只能表示true或false两种状态。您可以使用布尔变量来表示这两种状态。
代码语言:java
复制
boolean result = someCondition();
  1. 使用枚举(enum):您可以创建一个枚举类型来表示true、false和unknown三种状态。
代码语言:java
复制
public enum TriState {
    TRUE, FALSE, UNKNOWN
}

TriState result = someMethod();
  1. 使用Optional类:Java 8引入了Optional类,它可以用来表示值存在或不存在。您可以使用Optional类来表示true、false和unknown三种状态。
代码语言:java
复制
Optional<Boolean> result = someMethod();

在这些方法中,您可以根据需要选择最适合您的场景的方法。请注意,这些方法并不是Java编程语言的官方约定,而是根据实际需求提供的解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

奇怪的Java题:为什么128 == 128返回为false,而127 == 127会返回为true?

奇怪的Java题:为什么128 == 128返回为false,而127 == 127会返回为true? 在回答这个问题之前,我们先来看看int和Integer的对比,一步步揭开问题的答案。...2. int与Integer的深入对比 注:对于引用类型变量,==操作符比较的是两个引用是否指向同一个对象;对于基本类型变量,==操作符比较的是两个变量的值是否相等。...,其内存地址不同 (2) Integer变量和int变量比较时,只要两个变量的值是相等的,则结果为true。...,java会自动拆包装为int,然后进行比较,实际上就变为两个int变量的比较 (3) 非new生成的Integer变量和new Integer()生成的变量比较时,结果为false。...void main(String[] args) { //声明一个Integer对象 Integer num = 9; //进行计算时隐含的有自动拆箱

2.3K31
  • python面向对象笔记

    :比如构造函数约定为__init__;私有方法/成员约定为"_"开头(注:只是君子协定,硬要调用的话,外部是可以直接调用的);实例方法约定第1个参数为self   2、重载的处理,不象java里要定义多个方法签名...,python里就一个版本,但是通过可变参数来实现(后面还要细讲) 3、动态语言,实例在运行过程中,可随时动态添加属性 另外注意:不要轻易使用__(二个连续的下划线)做为方法或变量的前缀或后缀,"__XXX...False 注:抽象方法是通过抛出未实现的异常来实现的。如果想类似java定义抽象类,把__init__方法抛出未实现异常就行。...3.2 多继承 python支持多继承,这点与java有很大区别 class P1: def a(self): print("P1-a") def b(self):...s1 isinstance of P2: True s1 isinstance of S1: True s1 isinstance of S2: False 注意多承继的顺序,如果“爸爸们”之间有重名方法

    75830

    CA1045:不要通过引用来传递类型

    值 规则 ID CA1045 类别 设计 修复是中断修复还是非中断修复 重大 原因 公共类型中的公共或受保护方法有一个 ref 参数,该参数采用基元类型、引用类型或不属于内置类型的值类型。...规则说明 按引用(使用 out 或 ref)传递类型要求具有使用指针的经验,了解值类型和引用类型的不同之处,以及能处理具有多个返回值的方法。...使用“按值”传递这一默认调用约定,采用引用类型的参数已经收到指向对象的指针。 指针(而不是它指向的对象)按值传递。...在这些情况下,可考虑使用 ref 或 out 参数。 如何解决冲突 要修复由值类型引起的此规则的冲突,需使方法返回对象作为其返回值。...如果该方法必须返回多个值,请重新设计它以返回保存值的对象的单个实例。 要修复由引用类型引起的此规则的冲突,需确保所需的行为是否为返回引用的新实例。 如果是,则该方法应使用其返回值来执行此操作。

    46430

    CA1021:避免使用 out 参数

    默认情况下,此规则仅查看外部可见的类型,但这是可配置的。 规则说明 按引用(使用 out 或 ref)传递类型要求具有使用指针的经验,了解值类型和引用类型的不同之处,以及能处理具有多个返回值的方法。...另外,out 和 ref 参数之间的区别并未得到广泛了解。 如果引用类型“按引用”传递,则该方法会使用参数来返回对象的不同实例。 按引用传递引用类型也称为使用双指针、指向指针的指针或双间接。...有关对字符串执行操作并返回字符串的新实例的各种方法,请参阅 System.String 类。 使用此模型时,调用方必须决定是否保留原始对象。...尽管返回值很常见且被大量使用,但正确应用 out 和 ref 参数需要中间设计和编码技能。 为一般用户进行设计的库架构师不应指望用户能熟练运用 out 或 ref 参数。...要修复由引用类型引起的此规则的冲突,需确保所需的行为是否为返回引用的新实例。 如果是,则该方法应使用其返回值来执行此操作。 何时禁止显示警告 可禁止显示此规则发出的警告。

    50730

    T-SQL基础(一)之简单查询

    SQL表达式运算 谓词 SQL中谓词是指运算结果为True,False或Unknown的逻辑表达式。T-SQL中的谓词有IN,BETWEEN,LIKE等。...在查询筛选中,只返回条件表达式(WHERE、HAVING、ON)运算结果为True的数据。 CHECK约束,返回表达式运算结果不为False的结果。...在使用NULL值时应注意以下几点: 将NULL与其它值进行比较,不管该值是否为NULL,结果均为Unknown 应使用IS NULL或IS NOT NULL来判断值是否为NULL INSERT未给列指定值则插入...UNKNOWN FALSE Unknown参与OR预算结果: Expression 1 Expression 2 Result TRUE UNKNOWN TRUE UNKNOWN UNKNOWN UNKNOWN...CASE表达式有两种使用方式: CASE后面带有列名 这种情况下,WHEN子句中只能使用标量或返回标量的表达式,这种形式称为简单格式。

    4.2K20

    记一个Uri相关的奇葩bug

    ,所以查看isOpaque什么情况下返回true: /** * Returns true if this URI is opaque like "mailto:nobody@google.com"....isHierarchical(); } 额,也就是说要调查isHierarchical在什么时候返回false。...从代码里搜到所有的继承都在Uri.java的内部类,所以直接搜,最后定位到是在StringUri里面实现的isHierarchical()方法处理后返回的false。...,相当于不做处理 再判断uriString的长度是否到:为止,如果是返回false 最后判断:后面的字符是否是/ 所以知道最后处理的uriString是什么就很关键了,通过添加log,编译系统,找到最后出问题的...这个Uri本来应该在第一处判断就返回true的,但是因为版本号有一个7.1.1:1.xxxx,结果匹配上了冒号,最终因为:后面没有/返回一个false状态。

    1.4K30

    Effective Java 2.0_中英文对照_Item 8

    一致性:对于任何非空引用值x和y,x.equals(y)的多次调用一致返回true或一致返回false,假设对象进行equals比较时没有修改任何信息。...这时list.contains(s)会返回什么?谁知道呢?在Sun当前的实现中,它碰巧会返回false,但那仅是一种实现方案。在另一种实现中,它也可能很容易的返回true或抛出一个运行时异常。...true,而cp.equals(p)返回false。...将上面所有的内容放在一起,下面是编写一个高质量equals方法的流程: 使用==操作符来检查参数是否是这个对象的一个引用,。如果是,返回true。...这只是一个性能优化,如果比较的代价有可能很昂贵,这样做是值得的。 使用instanceof操作符来检查参数类型是否正确。如果不正确,返回false。通常,正确的类型是指equals方法所在的那个类。

    50940

    用了这么久的equals,你知道还要遵守约定么

    类没有必要提供逻辑相等的测试 例如:java.util.regex.Pattern能够重写equals检查是否两个Pattern 实例是否代表了同一个正则表达式。...重写equals 遵循的约定 如果你非要重写equals 方法,请遵循以下约定: 自反性:对于任何非 null 的引用值 x,x.equals(x),必须返回true,null equals (null...没人知道,可能在 OpenJDK 实现中会返回 false,但这只是特定实现的结果而已,在其他的实现中,也有可能返回true,或者抛出运行时异常,所以我们能总结出一点:一旦违反了equals 约定,当面对其他对象时...遵循如下约定,可以实现高质量的空判断: 使用 == 操作符检查 参数是否为这个对象的引用 。如果是,返回 true 。 使用 instanceof 操作符检查 参数是否为正确的引用类型。...如果不是,则返回 false。 对于该类中的每个域,检查参数中的域是否与该对象中对应的域相匹配。 编写完成后,你还需要问自己: 它是否是对称的、传递的、一致的?

    56020

    Hive优化器原理与源码解析系列--优化规则FilterReduceExpressionsRule(二十二)

    但此matches方法是继承自父类方法,默认返回true。...will be treated as FALSE 是否把未知UNKNOWN当成False Returns: whether reduction found something to change, and...= false; } 对newConditionExp已经减少了表达式新谓词表达式或原始谓词的判断: 如果newConditionExp恒为true,则移除此Filter谓词。...如果reduced=true,即已缩减谓词表达式,返回表达式是否仅为可为空的而强制转换Cast转换,则只取方法的第一个操作数,即移除cast不必要的转换。...Filter限制条件,已经是冗余的或恒为True,恒为False,或未知等情况,在构建执行计划时,来减少这些不必要的Filter谓词表达式达优化的目的。

    84320

    3. 懂了这些,方敢在简历上说会用Jackson写JSON

    我们在书写简历的时候,都会用一定篇幅展示自己的技能点(亮点),就像这样: ? 这一part非常重要,它决定了面试官是否有跟你聊的兴趣,决定了你是否能在浩如烟海的简历中够脱颖而出。...但如果你是很大的一个Long值(如雪花算法算出的很大的Long值),直接返回前端的话,Javascript就会出现精度丢失的bug WRITE_BIGDECIMAL_AS_PLAIN(false)...控制写java.math.BigDecimal的行为: true:使用BigDecimal#toPlainString()方法输出 false: 使用默认输出方式(取决于BigDecimal是如何构造的...true:检测是否有重复字段名,若有,则抛出JsonParseException异常 false:不检测JSON对象重复的字段名,即:相同字段名都要解析 @Test public void test8(...IGNORE_UNKNOWN(false) 如果底层数据格式需要输出所有属性,以及如果找不到调用者试图写入的属性的定义,则该特性确定是否要执行的操作。

    1.2K40

    必知必会——关于SQL中的NOT IN优化

    复杂性源于以下事实:NULL可以理解为“未指定,可能是任何东西”,因此SQL的观点是,它无法知道NULL是否等于一个值或“东西”。...产生的答案既不是TRUE,也不是FALSE,它产生UNKNOWN,MySQL将其打印为NULL: ?...在开始之前,我们需要记住另外两个SQL细节: WHERE针对行测试条件,并且仅当此条件为TRUE时才让行通过(拒绝FALSE和UNKNOWN)。...NOT(TRUE)为FALSE,NOT(FALSE)为TRUE,NOT(UNKNOWN)为UNKNOWN。 现在我们已经准备好,让我们看一下这个例子: ?...这将让IN返回FALSE或UNKNOWN的房屋通过;因此,A和B会如我所愿地通过。 “ NOT IN(子查询)”也会发生相同的问题。让我们添加此表: ? 查询加热不产生二氧化碳的房屋: ?

    4.9K40

    《SQLSERVER2012之T-SQL教程》T-SQL单表查询(二)「建议收藏」

    TRUE、FALSE和UNKNOWN,T-SQL遵循这方面的标准。 逻辑表达式仅涉及已有或是现值,其计算结果为TRUE或FALSE,但当逻辑表达式涉及NULL时,其计算结果为UNKNOWN。...例如salary>0出现在查询筛选中(WHERE或HAVING),将返回表达式计算为TRUE的行或组,那些结果为FALSE的会被筛选掉。...同样,如果谓词salary>0出现在表的CHECK约束中,所有行的表达式计算为TRUE的INSERT或UPDATE语句会被接收,而那些计算结果为FALSE的会被拒绝。...接下来看看表达式计算结果为UNKNOWN的处理方式。对于查询筛选而言,SQL的正确处理定义是接收TRUE,意味着FALSE和UNKNOWN会被筛选掉。...相反,对于CHECK约束而言,SQL的正确处理定义是“拒绝FALSE”,所以TRUE和UNKNOWN会被接受。 UNKNOWN一个棘手的问题是,当否定它时,仍然会得到UNKNOWN值。

    1.8K20

    重读《学习JavaScript数据结构与算法-第三版》- 第4章 栈

    远自湖北三千里,近到江南十六州; 美景一时观不透,天缘有分画中游。...栈是一种遵从后进先出(LIFO)原则的有序集合。 新添加或待删除的元素都保存在栈的同一端,称作栈顶;另一端就叫栈底。 在栈里,新元素都靠近栈顶,旧元素都接近栈底。...方法 描述 push(element(s)) 添加一个(或多个)新元素到栈顶 pop() 移除栈顶元素,同时返回被移除的元素 peek() 返回栈顶的元素,不对栈做任何修改 isEmpty() 判断栈是否为空...,为空则返回true,否则返回false clear() 移除栈的所有元素 size() 返回栈的元素个数 代码实现 class Stack { // 初始化 constructor () {...在回溯问题中,它可以存储访问过的任务或路径、撤销的操作(后续会在讨论图和回溯问题时进一步详细讲解)。

    48520

    关于接口限流的一次简单实践

    具体执行的逻辑如下: 设置好计数器count,每过一次请求计数器就+1,同时记录对应的请求IP; 当下一个请求到来之际,首先通过IP判断对应的计数器是否达到了限流的频次,以及本次请求是否还在设定的请求周期内...就像这样: 自定义的限流注解其实很简单,主要包含限流的Key,限流周期以及请求计数器。当然,这些数据都是完全可以自定义的,并没有什么约定俗成,具体工具自己的业务需要决定就好。...HandlerMethod) { HandlerMethod handlerMethod = (HandlerMethod) handler; // 获取目标方法上是否有指定注解...true : false; }).thenApplyAsync(num->CompletableFuture.supplyAsync(() -> {...,其实还是有不少问题的。

    66420

    一次性搞清楚equals和hashCode

    前言 在程序设计中,有很多的“公约”,遵守约定去实现你的代码,会让你避开很多坑,这些公约是前人总结出来的设计规范。...那就是说,只有this 和 obj引用同一个对象,才会返回true。 而我们往往需要用equals来判断 2个对象是否等价,而非验证他们的唯一性。这样我们在实现自己的类时,就要重写equals....如果2个对象通过equals调用后返回是true,那么这个2个对象的hashCode方法也必须返回同样的int型散列码 如果2个对象通过equals返回false,他们的hashCode返回的值允许相同...相比 于 equals公认实现约定,hashCode的公约要求是很容易理解的。有2个重点是hashCode方法必须遵守的。...通过equals调用返回true 的2个对象的hashCode一定一样。 通过equasl返回false 的2个对象的散列码不需要不同,也就是他们的hashCode方法的返回值允许出现相同的情况。

    61710

    JAVA 拾遗--eqauls 和 hashCode 方法

    如果x.equals(y)返回true,并且y.equals(z)也返回true,那么x.equals(z)也必须返回true。 一致性(consistent)。...对于任何非null的引用值x和y,只要equals的比较操作在对象中所用的信息没有被修改,多次调用x.equals(x)就会一致地返回true,或者一致的返回false。...结合所有这些要求,得出了以下实现高质量equals方法的诀窍: 使用==操作符检查“参数是否为这个对象的引用”。如果是,则返回true。...这只不过是一种性能优化,如果比较操作有可能很昂贵,就值得这么做。 使用 instanceof 操作符检查“参数是否为正确的类型”。如果不是,则返回false。...对于该类中每个“关键(significant)域,检查参数中的域是否与该对象中对应的域相匹配”。如果这些测试全部成功,则返回true;否则返回false。

    1.1K70
    领券