如何在java中实现c语言中的联合的功能??? 10
ava中没有联合这一概念,但是要求把c程序翻译成java,c中碰到了联合,求教各位在java中怎么处理,实现c语言中的联合功能...
ava中没有联合这一概念,但是要求把c程序翻译成java,c中碰到了联合,求教各位在java中怎么处理,实现c语言中的联合功能
展开
5个回答
展开全部
C语言可以用一个指针值指向内存的任何一个空间,当然有很多非法的空间会被检测出来,所有乱用指针,编译器或者系统就会报错。
但JAVA不同,JAVA 通过一个引用,来指向内存的一个空间,换句话说,不是你想指向哪里,就指向哪里,因为你定义个变量时,这个空间由系统分配,同样,你定义一个引用,这个空间同样由系统分配,而我们做的事情只是将这两个由系统分配的空间进行一个指向关联,没有一个随心所欲的内存指向
区别很明显吧,我相信这样解释,连一个没有任何C基础的人都能明白,呵呵,因为这是我第一次做任务来答题,所以详细一点,也啰嗦一点,如果还不明白,我们可以进一步交流。
但JAVA不同,JAVA 通过一个引用,来指向内存的一个空间,换句话说,不是你想指向哪里,就指向哪里,因为你定义个变量时,这个空间由系统分配,同样,你定义一个引用,这个空间同样由系统分配,而我们做的事情只是将这两个由系统分配的空间进行一个指向关联,没有一个随心所欲的内存指向
区别很明显吧,我相信这样解释,连一个没有任何C基础的人都能明白,呵呵,因为这是我第一次做任务来答题,所以详细一点,也啰嗦一点,如果还不明白,我们可以进一步交流。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从占用内存上看,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);
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2018-05-14
展开全部
用类, 只有这样。
class DateE{
long ul[2];
int ui[4];
byte uc[8];
//get/set方法
}
java没有 unsigned long,如果数很大就换成BigDecimal
,或 BigInteger
class DateE{
long ul[2];
int ui[4];
byte uc[8];
//get/set方法
}
java没有 unsigned long,如果数很大就换成BigDecimal
,或 BigInteger
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用java调用C程序实现,百度一下,你就知道!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
会用hibernate框架吗?可以采用级联操作
更多追问追答
追问
java小白,刚接触,不懂,
typedef union
{ unsigned long ul[2];
unsigned int ui[4];
unsigned char uc[8];
} DataE;
这是c里面定义的联合,就是翻译到java里面不知道怎么实现????
追答
没学过C,你可以告诉我你的需求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询