【问题标题】:How to convert boolean value into int and vice versa in java? [duplicate]java - 如何在java中将布尔值转换为int,反之亦然? [复制]
【发布时间】:2021-07-30 06:04:34
【问题描述】:

在 C++ 中,1 被视为真,0 被视为假。因此,在 C++ 中可以进行内部转换。但这在 Java 中可以实现吗?我们可以根据 Java 中的需要将 int 转换为 boolean 或 boolean 转换为 int 吗?

例如,对于this problem on GeeksForGeeks,C++ 代码可能看起来像 -

class Solution {
    public:
        int findPosition(int N) {
            if((N & (N -1)) or (N == 0)) return -1;
            return log2(N) + 1;
        }
};

如何在Java中编写相同类型的解决方案? 谢谢。

【问题讨论】:

  • 到目前为止你有什么尝试?
  • "在 C++ 中,1 被视为真" - 从技术上讲,所有非零值都被视为真。

标签: java


【解决方案1】:

C++ 隐式地将 int 转换为 boolean。在 Java 中,您必须自己明确地执行此操作。 要将 int 转换为 boolean,只需检查它是否不为零,如下所示:N != 0

因此,您必须将原始表达式修改为:

if (((N & (N - 1)) != 0) || (N == 0))

反之亦然,要将布尔值转换为 int,请执行以下操作:int i = boolValue ? 1 : 0;

【讨论】:

    猜你喜欢
    • 2012-03-10
    • 2021-06-10
    • 2015-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 2011-04-17
    相关资源
    最近更新 更多