社区
Java SE
帖子详情
简单问题在线给分:怎样将一个byte[]的值拷贝给另一个byte[]
ly_88
2002-05-22 09:52:44
怎样将一个byte[]的值拷贝给另一个byte[]
...全文
2886
10
打赏
收藏
简单问题在线给分:怎样将一个byte[]的值拷贝给另一个byte[]
怎样将一个byte[]的值拷贝给另一个byte[]
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qiaojiannan
2002-05-22
打赏
举报
回复
byte[] a = (byte[])(b.clone());
alphazhao
2002-05-22
打赏
举报
回复
faint
哪有楼上那么复杂?
一个System.arraycopy就行了
System.arraycopy(byte[] A,int i,byte[] B,int j,int length);
意思是从数组A第i个(即A[i]处,含A[i])开始copy长度为length个的byte数据到数组B从第j个开始(即B[j]处,含B[j])覆盖!
hyhong_h
2002-05-22
打赏
举报
回复
System.arrayCopy()方法不是用循环实现的,速度比用循环拷贝要快得多。
turbochen
2002-05-22
打赏
举报
回复
如果已知byte[] b;
则 byte[] a = (byte[])(b.clone());
Doctor11971
2002-05-22
打赏
举报
回复
byte[] a, b;
...
for(int i=0; i<a.length; i++)
b[i] = a[i];
和
byte[] a,b;
System.arrayCopy(b,0,a,0,a.length);
都可以.
循环是各种编成方式都经常采用的手法.而第二种是面向对象编成中的方便之处,在java中有System.arraycopy(Object src, int src_position, Object dst, int dst_position, int length) 这样一个方法,而byte又是对象,所以这样一来就不用自己写了,只要作为参数填写就ok了.
horseliu
2002-05-22
打赏
举报
回复
byte[] a,b;
System.arrayCopy(b,0,a,0,a.length);
yanyanem
2002-05-22
打赏
举报
回复
可运行, jbuilder 3 jdk1.2
package csdn;
public class MyClass5 {
public MyClass5() {
}
public static void main(String[] args) {
MyClass5 myClass5 = new MyClass5();
myClass5.invokedStandalone = true;
myClass5.test ();
}
private boolean invokedStandalone = false;
void test(){
byte[] a={1,0,1,0,1};
byte[] b=new byte[a.length];
System.arraycopy (a,0,b,0,a.length);
try{
System.out.println ("b- "+byte_to_string (b));
}catch( Exception e) {}
}
static String byte_to_string ( byte[] in )
throws Exception
{
String result = "" ;
if (in == null) return null;
for (int i=0;i<in.length; i++ )
{
result = result + in[i] ;
}
return result ;
}
}
aiaiok
2002-05-22
打赏
举报
回复
楼上说得对。
SHIZUMARU
2002-05-22
打赏
举报
回复
byte[] a, b;
...
for(int i=0; i<a.length; i++)
b[i] = a[i];
turbochen
2002-05-22
打赏
举报
回复
实际上arraycopy是调用JNI的一个本地方法:
static void cpchars(jchar *dst, char *src, int n)
{
int i;
for (i = 0; i < n; i++) {
dst[i] = src[i];
}
}
它也是用一个一个字符复制过来的。
而用byte[] a = (byte[])(b.clone())是复制一个内存块的方式,应该更快一些才对.
byte
与string底层强转
go 中
byte
与string的底层转换及
问题
普通强转 用关键字进行强转,底层会发生
拷贝
,两个变量互不影响。 代码示例: s:=012345 b:=[]
byte
(s) s1:=string(b) fmt.Println(s1) b[0]='9' fmt.Println(s1) === RUN Test_强转 012345 012345 --- PASS: Test_强转 (0.00s) PASS 运用底层编程强转 1
byte
to string go支持中文字符做为变量 func Test_运用底层编程
byte
ToString(t *testing.T) { va
异步Socket框架HSocket.zip
这是
一个
L/V(Length/Value)模型的异步Socket框架.L是指发送
byte
数组的长度,L固定为10个
byte
,V是指要发送的
byte
数组.可以用于处理超长的消息,处理完成的响应也按照L/V模型发送,客户端接收可以参考服务端解析过程。eg:1.第一次收到的
byte
[]:0 0 0 0 0 0 1 1 1 2 28 30 18 26 88 99 77 那么先取0 0 0 0 0 0 1 1 1 2,得到长度为1112,对后面的
byte
(从index10以后)进行存储 2.第二次收到的
byte
[]:5 10 0 66 0 0 1 1 1 2 28 30 18 26 88 99 44 那么继续存储收到的
byte
[],在之前的存储上追加 ... ... n.直到第n次收到
byte
[],在之前的存储上追加,当存储的
byte
[]长度等于1112时停止接收,开始解析,解析完成按照L/V模型组织发送,发送完毕继续步骤1.(中间遇到过程错误,将关闭会话)特别提醒:1.仅支持UTF8编码解析,原因是UTF8支持任何语言.采用Node.js做测试时,只用了英文字符做发送,原因是UTF8编码英文字符的长度和字符串长度一致(1:1). 2.Command必须实现CommandBase类,并且有
一个
无参构造函数(当然你可以修改代码,移除此限制,多数情况下这也完全够用),实现的Command类必须名称以Command结尾(大小写敏感).eg:TCommand,客户端发送命令参考Node.js实现,Command为T,则正确匹配TCommand处理返回结果. 3.配置文件参考server.cfg,生成时需
拷贝
到生成目录(vs可以通过属性设置实现). 4.有很多实现可以提取出接口,进一步优化使得更加容易扩展,更加灵活. 5.如果发现任何
问题
和不足之处或者BUG请email给我:kingge163@163.com 标签:HSocket
C#通过指针实现快速
拷贝
的方法
本文实例讲述了C#通过指针实现快速
拷贝
的方法。
分
享给大家供大家参考。具体实现方法如下: // fastcopy.cs // 编译时使用:/unsafe using System; class Test { // unsafe 关键字允许在下列 // 方法中使用指针: static unsafe void Copy(
byte
[] src, int srcIndex,
byte
[] dst, int dstIndex, int count) { if (src == null || srcIndex < 0 || dst == null || dstIndex
RSA字符串加密解密带Base64二次加密
使用RSA对字符串进行加密,但是加密以后是
一个
byte
[],然后使用Base64进行了对于
byte
[]的二次加密,这样就是
一个
字符串,可以直接进行http的传输而不用头疼了。 注释:关于包名的
问题
请自己重新新建资源
拷贝
就可以了
byte
数组快速
拷贝
,
byte
数组合并,System.arraycopy详解
博客来源: 项目过程中用到
byte
[]数组相加
问题
,给出两个
byte
[]需要合并成
一个
byte
[]进行计算…那么需求来了……数据量达10W级,怎么合并 调用系统自带方法(System.arraycopy) 参考程序 @org.junit.Test public void fun(){ //创建
一个
存储被
拷贝
的字节数组,长度一定要比被
拷贝
字节数组大
byte
[]
byte
s = new
byte
[20]; //创建
一个
需要字节
拷贝
的数组
byte
[]
byte
...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章