Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java到目标c_Java_Iphone_Objective C_Porting - Fatal编程技术网

Java到目标c

Java到目标c,java,iphone,objective-c,porting,Java,Iphone,Objective C,Porting,我的问题是: 我有Java代码需要移植到Objective-C,其中 Obj[i] is byte[], Buffer is byte[], index is int 在我的目标C中,我宣布 Obj[i] is char** Buffer is char* index is int 我无法转换这行buffer[index]=((Byte)obj[I]).byteValue() 原始java代码 case cw_BYTE_obj: if(obj[i] == null){

我的问题是:

我有Java代码需要移植到Objective-C,其中

Obj[i] is byte[],  
Buffer is byte[],   
index is int
在我的目标C中,我宣布

Obj[i] is char**    
Buffer is char*  
index is int
我无法转换这行
buffer[index]=((Byte)obj[I]).byteValue()

原始java代码

case cw_BYTE_obj: 
if(obj[i] == null){
buffer[index] = 0x00;
index++;
}else{
buffer[index] = 0x01;
index++;
buffer[index] = ((Byte)obj[i]).byteValue();
index++;
}
break;

`

首先,为什么obj在java中是字节[],而在obj-c中是字符**?
总之,您希望一个char进入缓冲区[index],而obj[i]是char**,那么可能是指向char*??根据您在obj中输入的内容,您可能需要buffer[index]=*(obj[i])之类的东西

请澄清,张贴原始java代码和移植的目标C代码。如果obj是byte[],为什么不直接分配
buffer[index]=obj[i]
?如果它只是(char*),我不能把obj[i]=Null,所以我声明char**如何移植这些代码
return data.length!=0?新字节(数据[0]):空我是这样做的,这没有显示正确的结果
返回数据长度!=0?malloc(sizeof(char)*数据[0]):空它是java
数据
is
字节
**在obj C datalen
int datalen=sizeof(数据)/sizeof(*数据)中我认为您最好使用cocoa类来完成您要做的事情。在字符上使用NSValue将允许它为零,或者NSData/NSMutableData将允许您拥有一个可以为零的字符数组。
case cw_BYTE_obj: 
if(obj[i] == null){
buffer[index] = 0x00;
index++;
}else{
buffer[index] = 0x01;
index++;
buffer[index] = ((Byte)obj[i]).byteValue();
index++;
}
break;