JAVA (Android) 字符串的按位运算符

JAVA (Android) bitwise operator on strings

我很生气,我需要使用这个运算符创建一个令牌

PHP

a = "hello";
b = "world";
token = a | b;

好吧,我需要在 java [android] 中创建相同的内容,但我总是出错。
我已经尝试:
- 将 2 个字符串转换为 long 但显然我在转换时遇到错误
- 在 BitSet
中转换 2 字符串 - 将 2 个字符串转换为位数组
但最后的结果总是出错
有人可以给我一些建议吗?

正如 Sotirios 所说,您可能(?)试图连接字符串。如果是这样,那么 String token=a+b; 应该可以完成这项工作。同样,不清楚你问的是什么。你可能想看看 String documentation.

假设你想对字符串进行按位运算(对PHP中这些字符串的字符的ASCII值进行按位运算)。 Java 中的 String 没有这样的运算符,但您可以使用 BitSet:

public String or(String a, String b) throws UnsupportedEncodingException {
    final String charsetName = "US-ASCII";
    BitSet aBitSet = BitSet.valueOf(a.getBytes(charsetName));
    aBitSet.or(BitSet.valueOf(b.getBytes(charsetName)));
    return new String(aBitSet.toByteArray(), Charset.forName(charsetName));
}