观察:

Java has a logical AND operator.
Java has a logical OR operator.
Java has a logical NOT operator.

问题:

Java has no logical XOR operator, according to sun. I would like to define one.

方法定义:

作为一种方法,它的定义如下:

public static boolean logicalXOR(boolean x, boolean y) {
    return ( ( x || y ) && ! ( x && y ) );
}


方法调用:

此方法的调用方式如下:

boolean myVal = logicalXOR(x, y);


操作员使用:

我更希望有一个操作符,如下所示:

boolean myVal = x ^^ y;


问题:

我找不到任何关于如何在Java中定义新操作符的信息.我该从哪里开始?

推荐答案

Java does have a logical XOR operator^(和a ^ b一样).

除此之外,不能在Java中定义新的运算符.

Edit:以下是一个例子:

public static void main(String[] args) {
    boolean[] all = { false, true };
    for (boolean a : all) {
        for (boolean b: all) {
            boolean c = a ^ b;
            System.out.println(a + " ^ " + b + " = " + c);
        }
    }
}

输出:

false ^ false = false
false ^ true = true
true ^ false = true
true ^ true = false

Java相关问答推荐

Android -如何修复Java.time.zone. ZoneRulesExcept:未知时区ID:Europe/Kyiv

方法没有用正确的值填充数组—而是将数组保留为null,'

无法在org. openjfx:javafx—fxml:21的下列变体之间进行 Select

Java中实现的归并排序算法给出ArrayIndexOutOfBound异常

为什么我的在一个范围内寻找素数的程序不能像S所期望的那样工作

使用用户引入的参数生成人员数组

迁移到Java 17后,日期显示不准确

如何将Java文档配置为在指定的项目根目录中生成?

如何读取3个CSV文件并在控制台中按顺序显示?(Java)

Spring动态反序列化JSON可以是列表,也可以只是一个对象

Android Studio模拟器没有互联网

为什么这种递归会有这样的行为?

有没有办法在o(log(N))中以系统的方式将数组中的小块元素复制和移动到新增长的数组中的左侧?

活泼的一次判断成语,结果中等

Java返回生成器的实现

将@Transactional添加到Spring框架中链下的每个方法会产生什么效果?

spring 数据Elastic search 与 spring 启动数据Elastic search 之间的区别是什么?

为什么Java编译器为没有参数的方法(getter方法)创建桥接方法

我可以使用一个 PoolingNHttpClientConnectionManager 运行多个 HttpAsyncClient 吗?

仅允许使用 Spring Boot 3 从本地主机