请教个问题?

xin_zzq1 2011-05-06 11:19:41
我是刚才从C++转到java的:
C++中有这样的:
long nid=1234;
char a=(char*)(&nid))[0];
在java中应该怎么写,想了好久还是不知道该怎么转换
...全文
69 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
我是风 2011-05-06
  • 打赏
  • 举报
回复

byte a = (byte)((nid >> (8 * i)) & 0xff);
xin_zzq1 2011-05-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 powerlee2008 的回复:]
C/C++中的char对应Java中的byte

Java code

long nid = 1234;
byte a = (byte)(nid & 0xff);
[/Quote]
如果
char a=(char*)(&nid))[i];i是个变量呢?该怎么转换
我是风 2011-05-06
  • 打赏
  • 举报
回复
C/C++中的char对应Java中的byte

long nid = 1234;
byte a = (byte)(nid & 0xff);
lijiemissfei 2011-05-06
  • 打赏
  • 举报
回复
java中long转char 是高精度向低精度转化,所以不会自动转型,需要强转
long c=1234;
char cha=(char) c;
lliiqiang 2011-05-06
  • 打赏
  • 举报
回复
long m;
char a=(char)m;直接转换
xin_zzq1 2011-05-06
  • 打赏
  • 举报
回复
哦··谢谢

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧