在Java中将两个long编码到另一个原语中

Wei*_*Shi 3 java primitive

我有一个Tuple拥有3个原语的对象:Tuple(double, long, long).为了避免创建大量的Tuple,我正在考虑使用Trove库的原始MAP,它将两个原语作为键和值.就我而言,它会是Map<double, some primitive>.

我的问题:是否可以有效地将二者编码long为一个我可以存储在地图中的原语,然后对它们进行解码?

Joo*_*kka 7

是否有效地将两个long编码为单个基元

不,仅仅因为long是64位,并且没有Java原语比那更长.您需要一个128位原语来编码两个长整数.