java的单例与c的联合体

来源:互联网 发布:中国国民党知乎 编辑:程序博客网 时间:2024/06/02 21:18

https://zhidao.baidu.com/question/580704591.html

从占用内存上看,c语言的联合体共用同一块内存,应该与Java中的单例很类似。联合体映射为单例类应该能够解决你的问题。
typedef union{  unsigned long ul[2];unsigned int  ui[4];unsigned char uc[8];} DataE;
//单例模式public enum  Union { INSTANCE; private Object obj; public Object getObj() {  return obj; } public void setObj(Object obj) {  this.obj = obj; }  public static void main(String[] args) {  Union u = Union.INSTANCE;  u.setObj(new int[]{1,3,5});  int[] a = (int[]) u.getObj();  System.out.println(a.length); }}

答案二

用类, 只有这样。
class DateE{
long ul[2];
int ui[4];
byte uc[8];

//get/set方法

}

java没有 unsigned long,如果数很大就换成BigDecimal
,或 BigInteger

原创粉丝点击