我正在移植大量從PHP到Java(Android應用程序)的代碼。一切都做,但我在這裏面臨的一個問題,等效於來自PHP中的Java
我得到這個PHP代碼:
class SenderKeyGroupData{
const MESSAGE = 1;
const SENDER_KEY = 2;
/* @var array Field descriptors */
protected static $fields = array(
self::MESSAGE => array(
'name' => 'message',
'required' => false,
'type' => 7,
),
self::SENDER_KEY => array(
'name' => 'sender_key',
'required' => false,
'type' => "SenderKeyGroupMessage",
),
);
但是我想在Java中的代碼,例如我創造了這個Java代碼:
class SenderKeyGroupData {
int MESSAGE = 1; // Must be const
int SENDER_KEY = 2; // Must be const
// These two Maps must be in the $fields array?
Map MESSAGE = new HashMap(); //Duplicate conflict here
MESSAGE.put("name", "message");
MESSAGE.put("required", false); // Map can't contain booleans?
MESSAGE.put("type", "7");
Map SENDER_KEY = new HashMap(); //Duplicate conflict here
SENDER_KEY.put("name", "sender_key");
SENDER_KEY.put("required", false); // Map can't contain booleans?
SENDER_KEY.put("type", "SenderKeyGroupMessage");
}
我將問題描述爲評論。所有想法都歡迎。
請注意,const在構造函數中包含1和2作爲值,但也會分配一個數組。所以請舉個例子,而不是將它指向重複。
如果你在評論中描述的問題,那麼沒有一個,但更多。如果這是常量問題,那麼上面的swidmann的評論會回答它。 –
這是非常直截了當的東西,關於錯誤消息還不清楚嗎?你不能有兩個同名的變量。一旦我解決了這個問題,你的代碼就會被編譯。不知道你在說什麼「地圖不能包含布爾值」。 – tnw
您需要閱讀Java基礎知識。否則你會面臨很多這樣的錯誤。 – lewkka