2017-07-06 106 views
-2

我想將js函數轉換爲Java,但我不知道如何在java中使用JS位運算符。JS按位運算符到Java

我需要翻譯是:

var r = '0x' + a.substring(j, 2) | 0 and ('0x' + a.substr(j, 2)^r)

有沒有人這樣做呢?

謝謝!

+1

在字符串上按位或者做什麼? – byxor

+1

@byx看起來像它將參數摺疊爲數字(默認爲0),然後對這些數字應用操作 – Aaron

+0

儘管存在一些奇怪的摺疊規則。 '[1]'摺疊到'1'和'[2]'到'2',但'[1,2]'摺疊到'0'。也許這對JS開發人員來說是常識,但它確實感覺很奇怪。 – Aaron

回答

0

首先,將字符串解析和位運算符分離爲單獨的步驟。

(!比約恩上文所指出的,位運算符不會自動投在Java中,就像他們在JavaScript中一樣)

所以

'0x' + a.substring(j, 2) 

變爲:

String foo = '0x' + a.substring(j, 2); 
int value = Integer.parseInt(foo, 16); 

應以一個字符串表示的基數爲16的數字,並將其移動到一個int。一旦你把它作爲一個整數,你可以使用Java按位運算符。