java 数组 Object 转成 String

2024-11-19 02:23:56
推荐回答(5个)
回答1:

强制类型转换或者自动向上造型都有个先决条件,就是被造型的对象必须本来就是转换后的类型数据。
比如你的 Object[] args={ rowld },这里rowld是一个int类型,但是java里所有类型都继承自Object类型,所以rowld也可以说是Object类型的对象,赋值不会报错。args2[i]=args[i].toString();由于Object.toString()方法返回类型是Stirng,所以赋值也不会报错。
但是直接将 args 转成 args2 明显就类型不对了,就如 String str= 1;一样,类型不兼容啊。。。

回答2:

String是object的子类,在父子关系上,父类的引用是指向一个子类实例则可以通过强制转化将父类引用转化为子类引用,而对于父类的引用能指向一个子类实例是因为java里面的隐含了自动转换,但是引用是指向父类的一个实例而不是一个子类实例的时候,这种向下转换则不能完成,因此运行时报错。

回答3:

java里进行强制类型转换的话,需要类型具有继承关系,而String是Object类的子类,所以可以进行转化,而args只是一个引用,存储的就是地址,不能这么进行强制类型转化吧

回答4:

  java中可以使用for循环,或者while循环,将Object的数据一个个取出来,并分别赋值给String数组。
  但是这个也是要求这个Object是一个实体类或者有属性才行。

回答5:

String [] args = { String.valueOf(rowId) };

//.............

Cursor cursor = sqliteDatabase.rawQuery(searchSQL, args);