我需要用Java代表一个DirectX D3DCOLOR(这是一个32位的ARGB)。
我不需要对它执行任何操作,除了通过字符串编码将其通过XML-RPC传输到DirectX应用程序。它很可能以类似的方式进入我的Java系统,即作为编码字符串。
什么字符串形式被视为“规范”,或者更确切地说,哪个字符串表示形式对我的DirectX客户端来说最友好的解析?
因此,我应该在Java中使用什么类型来捕获D3DCOLOR?显而易见的答案是:
java.lang.String
,并且无需验证java.lang.Long
并实施一些toString()
方法两者似乎都不完全令人满意,但我认为这取决于客户希望如何序列化它。
答案 0 :(得分:0)
考虑到ARGB通道仅限于一个字节,它们通常存储为byte[]
或一些等效大小的结构。一个明显的等价物是4字节的int / uint。当您考虑D3DXCOLOR can be constructed from a DWORD时,这非常有用。
编辑:虽然Java不支持unsigned,但这并不重要,因为C ++演员会把它转回来。