我正在移植大量从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