ブール変数と文字列の間でビット単位の&を行うことが許可されています。コンパイルエラーはありません!
結果はどうなりますか?それはどのように機能しますか。私の理解によると、このタイプのビット演算は許可されません。それはバグですか、それともビット単位の機能はビットの中間のみを考慮し、タイプを気にしませんか?
ブール変数と文字列の間でビット単位の&を行うことが許可されています。コンパイルエラーはありません!
結果はどうなりますか?それはどのように機能しますか。私の理解によると、このタイプのビット演算は許可されません。それはバグですか、それともビット単位の機能はビットの中間のみを考慮し、タイプを気にしませんか?
文字は使用できますが、bitwise &
文字列は使用できません。例:
public class BitwiseTest {
public static void main(String[] args) {
System.out.println(Integer.toBinaryString(0));
System.out.println(Integer.toBinaryString(1));
System.out.println(Integer.toBinaryString(2));
System.out.println(Integer.toBinaryString(1&2));
System.out.println(Integer.toBinaryString(1&'2'));
}
}
プリント..。
0
1
10
11
110011
これはコンパイルされませんが:
System.out.println(Integer.toBinaryString(1&"my String"));
コンパイラ出力:
$ javac BitwiseTest.java
BitwiseTest.java:10: operator & cannot be applied to int,java.lang.String
System.out.println(Integer.toBinaryString(1&"my String"));
^
1 error