魅族note2固件3系统固件是干嘛的,和系统有什么区别??

在JAVA中如何将一个Object转换成Array - 简书
在JAVA中如何将一个Object转换成Array
照例应该先说一下这个问题的来源,因为有需要我才解决他(需要结果的请直接看最后)
那么这个问题的来源是这样的
在某个不知名的小屁项目中,使用了Hibernate,在查询的时候,使用hql查询,设置查询条件的时候使用 in 方式 ,比如:
select username from user where id in (:id)
然后设置参数的时候,hibernate要求这个参数为Array(Object[])或者List(Collection)
然后,因为我这个方法是通用的,所以这里的参数是用一个 Map&String,Object& 传入的,这就导致我在解析的时候必须将这个Object转换成Object[]
当然经过我的实践,这里的解决方式其实很简单
List&String& l = new ArrayList&String&();
l.add("ss1");
l.add("ss2");
l.add("ss3");
l.add("ss4");
l.add("ss5");
sarr = new String[l.size()];
l.toArray(sarr);
for (Object string : (Object[])sarr) {
System.out.println(string);
这个代码是能通过编译并且执行成功的也就是说,我还转个皮啊。。。直接写就ok了……
如果是这样,那我还写这个文干啥?所以,注意:
List&String& l = new ArrayList&String&();
l.add("ss1");
l.add("ss2");
l.add("ss3");
l.add("ss4");
l.add("ss5");
sarr = (String[])l.toArray();
for (String string : sarr) {
System.out.println(string);
这段代码执行是不成功的!在我机器上执行结果(jdk7):
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.O cannot be cast to [Ljava.lang.S
List中不带参的toArray方法返回的是Object[],并且不能直接转成String[]综上,String[]可以转成Object[],但是反过来就不行
现在回到我题目中的问题,上代码第一步,确定传入的这个Object是一个Array第二步,获取这个Array的长度第三步,创建一个相同长度的数组(什么类型根据你的需求自定义,前提是能兼容,比如我的代码是写Object,不管是啥都能进去了)第四步,挨个取出原来数组中的元素放到新的数组中
import java.lang.reflect.Array
..............
if (obj.getClass().isArray()) {
int length = Array.getLength(obj);
Object[] os = new Object[length];
for (int i = 0; i & os. i++) {
os[i] = Array.get(obj, i);
我不记录故事…只写心情…java整数和byte数组之间的转换
我的图书馆
java整数和byte数组之间的转换
做的程序有时候会需要用到,
[java] public&class&NumberUtil&{&&&&&&/**&&&&&&*&int整数转换为4字节的byte数组&&&&&&*&&&&&&&*&@param&i&&&&&&*&&&&&&&&&&&&整数&&&&&&*&@return&byte数组&&&&&&*/&&&&&&public&static&byte[]&intToByte4(int&i)&{&&&&&&&&&&byte[]&targets&=&new&byte[4];&&&&&&&&&&targets[3]&=&(byte)&(i&&&0xFF);&&&&&&&&&&targets[2]&=&(byte)&(i&&&&8&&&0xFF);&&&&&&&&&&targets[1]&=&(byte)&(i&&&&16&&&0xFF);&&&&&&&&&&targets[0]&=&(byte)&(i&&&&24&&&0xFF);&&&&&&&&&&return&&&&&&&}&&&&&&&&/**&&&&&&*&long整数转换为8字节的byte数组&&&&&&*&&&&&&&*&@param&lo&&&&&&*&&&&&&&&&&&&long整数&&&&&&*&@return&byte数组&&&&&&*/&&&&&&public&static&byte[]&longToByte8(long&lo)&{&&&&&&&&&&byte[]&targets&=&new&byte[8];&&&&&&&&&&for&(int&i&=&0;&i&&&8;&i++)&{&&&&&&&&&&&&&&int&offset&=&(targets.length&-&1&-&i)&*&8;&&&&&&&&&&&&&&targets[i]&=&(byte)&((lo&&&&&offset)&&&0xFF);&&&&&&&&&&}&&&&&&&&&&return&&&&&&&}&&&&&&&&/**&&&&&&*&short整数转换为2字节的byte数组&&&&&&*&&&&&&&*&@param&s&&&&&&*&&&&&&&&&&&&short整数&&&&&&*&@return&byte数组&&&&&&*/&&&&&&public&static&byte[]&unsignedShortToByte2(int&s)&{&&&&&&&&&&byte[]&targets&=&new&byte[2];&&&&&&&&&&targets[0]&=&(byte)&(s&&&&8&&&0xFF);&&&&&&&&&&targets[1]&=&(byte)&(s&&&0xFF);&&&&&&&&&&return&&&&&&&}&&&&&&&&/**&&&&&&*&byte数组转换为无符号short整数&&&&&&*&&&&&&&*&@param&bytes&&&&&&*&&&&&&&&&&&&byte数组&&&&&&*&@return&short整数&&&&&&*/&&&&&&public&static&int&byte2ToUnsignedShort(byte[]&bytes)&{&&&&&&&&&&return&byte2ToUnsignedShort(bytes,&0);&&&&&&}&&&&&&&&/**&&&&&&*&byte数组转换为无符号short整数&&&&&&*&&&&&&&*&@param&bytes&&&&&&*&&&&&&&&&&&&byte数组&&&&&&*&@param&off&&&&&&*&&&&&&&&&&&&开始位置&&&&&&*&@return&short整数&&&&&&*/&&&&&&public&static&int&byte2ToUnsignedShort(byte[]&bytes,&int&off)&{&&&&&&&&&&int&high&=&bytes[off];&&&&&&&&&&int&low&=&bytes[off&+&1];&&&&&&&&&&return&(high&&&&8&&&0xFF00)&|&(low&&&0xFF);&&&&&&}&&&&&&&&/**&&&&&&*&byte数组转换为int整数&&&&&&*&&&&&&&*&@param&bytes&&&&&&*&&&&&&&&&&&&byte数组&&&&&&*&@param&off&&&&&&*&&&&&&&&&&&&开始位置&&&&&&*&@return&int整数&&&&&&*/&&&&&&public&static&int&byte4ToInt(byte[]&bytes,&int&off)&{&&&&&&&&&&int&b0&=&bytes[off]&&&0xFF;&&&&&&&&&&int&b1&=&bytes[off&+&1]&&&0xFF;&&&&&&&&&&int&b2&=&bytes[off&+&2]&&&0xFF;&&&&&&&&&&int&b3&=&bytes[off&+&3]&&&0xFF;&&&&&&&&&&return&(b0&&&&24)&|&(b1&&&&16)&|&(b2&&&&8)&|&b3;&&&&&&}&&}&&
TA的最新馆藏[转]&[转]&[转]&整数转换成字节型数组 - 爪哇哥的爪哇岛 / - ITeye技术网站
博客分类:
整数转换成字节型数组
整数(int,long,大整数)转换成字节型数组(byte[])
利用java.math.BigInteger的toByteArray()方法,将数值转换成字节型数组byte[]。
主要代码:
* Copyright (c) 2011 Trusted Software and Mobile Computing(TSMC)
* All rights reserved.
* Author: Jarg Yee &&
import java.math.BigI
* 整数(int,long,大整数)转换成字节型数组(byte[])
public class IntegerToByteArrayUtil
/** for debugging. */
public static void main(String[] args)
BigInteger bigInteger =
// bigIntegerToByteArray
String bigNumber = "" + Long.MAX_VALUE/50 + Long.MAX_VALUE/50;// 一个测试大整型数
bigInteger = new BigInteger(bigNumber.toString());
byteArrayToString(bigInteger.toByteArray()); // 转换
// longToByteArray
Long longNumber = Long.MAX_VALUE/50;
// 一个测试长整型数
bigInteger = new BigInteger(longNumber.toString());
byteArrayToString(bigInteger.toByteArray()); // 转换
// intToByteArray
Integer intNumber = Integer.MAX_VALUE/50;
// 一个测试整型数
bigInteger = new BigInteger(intNumber.toString());
byteArrayToString(bigInteger.toByteArray()); // 转换
/** 字节数组字符串显示 */
private static void byteArrayToString(byte[] byteArray)
System.out.print("byte[" + byteArray.length + "] = \t");
for(byte byteValue : byteArray)
System.out.print(byteValue + "\t");
System.out.println();
System.out.println("*******************************");
---------- 运行Java ----------
byte[15] =
35 -122 -14 111 -63 0 0 0 86 -19 1 -7 -78 -113 92
*******************************
2 -113 92 40 -11 -62 -113 92
*******************************
2 -113 92 40
*******************************
输出完成 (耗时 0 秒) - 正常终止
利用移位和与0xFF按位与操作,每8位地获取数据存入字节数组,将数值转换成字节型数组byte[]。
主要代码:
* Copyright (c) 2011 Trusted Software and Mobile Computing(TSMC)
* All rights reserved.
* Author: Jarg Yee &&
* 整数(int,long)转换成字节型数组(byte[])
public class IntegerToByteArrayUtil2
private static final byte byteLength = 8; // 字节位长
/** for debugging. */
public static void main(String[] args)
Long longNumber = Long.MAX_VALUE/50;
// 一个测试整型数
Integer intNumber = Integer.MAX_VALUE/50; // 一个测试整型数
byteArrayToString(numberToByteArray(longNumber));
byteArrayToString(numberToByteArray(intNumber));
/** 数值转换成字节型数组 */
private static byte[] numberToByteArray(Object number)
if(number instanceof Long)
return longToByteArray((Long)number, 8);
else if(number instanceof Integer)
return intToByteArray((Integer)number, 4);
整型32bit转换成字节型8bit数组
@param number 待求数值
@param length 数值所占字节数
private static byte[] intToByteArray(int number, int length)
byte[] byteArray = new byte[length];
int shiftNum = 0; // 移位数
for(int i=0; i& i++)
shiftNum = (length-i-1)*byteL
byteArray[i] = (byte)((number && shiftNum) & 0xFF);
return byteA
整型64bit转换成字节型8bit数组
@param number 待求数值
@param length 数值所占字节数
private static byte[] longToByteArray(long number, int length)
byte[] byteArray = new byte[length];
int shiftNum = 0; // 移位数
for(int i=0; i& i++)
shiftNum = (length-i-1)*byteL
byteArray[i] = (byte)((number && shiftNum) & 0xFF);
return byteA
/** 字节数组字符串显示 */
private static void byteArrayToString(byte[] byteArray)
System.out.print("byte[] = \t");
for(byte byteValue : byteArray)
System.out.print(byteValue + "\t");
System.out.println();
System.out.println("*******************************");
运行结果:
---------- 运行Java ----------
2 -113 92 40 -11 -62 -113 92
*******************************
2 -113 92 40
*******************************
输出完成 (耗时 0 秒) - 正常终止
利用ByteArrayOutput的toByteArray()方法。先将整数写入到字节流中,然后通过该类的toByteArray()方法,将流中的整数转换成字节型数组。
主要代码:
* Copyright (c) 2011 Trusted Software and Mobile Computing(TSMC)
* All rights reserved.
* Author: Jarg Yee &&
import java.io.ByteArrayOutputS
import java.io.DataOutputS
import java.io.IOE
* 整数(int,long)转换成字节型数组(byte[])
public class IntegerToByteArrayUtil3
/** for debugging. */
public static void main(String[] args) throws Exception
Long longNumber = Long.MAX_VALUE/50;
// 一个测试整型数
Integer intNumber = Integer.MAX_VALUE/50; // 一个测试整型数
byteArrayToString(numberToByteArray(longNumber));
byteArrayToString(numberToByteArray(intNumber));
/** 数值转换成字节型数组 */
private static byte[] numberToByteArray(Object number) throws Exception
if(number instanceof Long)
return longToByteArray((Long)number);
else if(number instanceof Integer)
return intToByteArray((Integer)number);
/** 整型32bit转换成字节型8bit数组 */
private static byte[] intToByteArray(int number) throws Exception
ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(byteOutput);
out.writeInt(number); // 写入到字节流
byte[] byteArray = byteOutput.toByteArray(); // 转换
byteOutput.close();
out.close();
return byteA
/** 长整型64bit转换成字节型8bit数组 */
private static byte[] longToByteArray(long number) throws Exception
ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(byteOutput);
out.writeLong(number); // 写入到字节流
byte[] byteArray = byteOutput.toByteArray(); // 转换
byteOutput.close();
out.close();
return byteA
/** 字节数组字符串显示 */
private static void byteArrayToString(byte[] byteArray)
System.out.print("byte[" + byteArray.length + "] = \t");
for(byte byteValue : byteArray)
System.out.print(byteValue + "\t");
System.out.println();
System.out.println("*******************************");
运行结果:
---------- 运行Java ----------
2 -113 92 40 -11 -62 -113 92
*******************************
2 -113 92 40
*******************************
输出完成 (耗时 0 秒) - 正常终止
yeshaoting
浏览: 439036 次
来自: 北京
太感谢了,看到你的文章终于解决这个问题了!
竟然还有马
我刚也遇到这个问题,然后也把默认端口改成了1433,只差最后没 ...
kingbinchow 写道
最近的爪哇岛 没有什么货进项呀 ...
最近的爪哇岛 没有什么货进项呀!整型转化为Byte字节 -
- ITeye技术网站
博客分类:
今天被同学问到如何将整型数转换成字节类型数组,我在网上找了一些资料后,写了一个简单的测试例子:
package com.inis.
public class TestLongToByte {
public static byte[] int2Byte(int intValue){
byte[] b=new byte[4];
for(int i=0;i&4;i++){
b[i]=(byte)(intValue&&8*(3-i) & 0xFF);
System.out.print(Integer.toBinaryString(b[i])+" ");
System.out.println("test");
System.out.print((b[i]& 0xFF)+" ");
public static void main(String[] args) {
int2Byte(10);
上面的代码测试结果是10变成了1010。 即转换成功。
下面将网上载的一个将字节数组转化为整数的例子:
public static int byte2Int(byte[] b){
int intValue=0;
for(int i=0;i&b.i++){
intValue +=(b[i] & 0xFF)&&(8*(3-i));
//System.out.print(Integer.toBinaryString(intValue)+" ");
return intV
这个没有经过测试,不过感觉应该是对的。
浏览: 135922 次
来自: 武汉
[url][img][img][url][flash=200, ...
你这个是不是SWC加载错误啊?
那 通过什么来查看SWC文件
我的输出是120 120。求大神解释。

我要回帖

更多关于 魅族note2固件损坏 的文章

 

随机推荐