java中如何得到一个数组的class的元素class
publicstaticvoidmain(String[]args){Class<?>arrayClass=newString[4].getClass();Classel...
public static void main(String[] args) {
Class<?> arrayClass=new String[4].getClass();
Class elementClass=getElementClass(arrayClass);
System.out.println(elementClass.equals(String.class));
}
public static Class getElementClass(Class arrayClass){
return String.class;
}
getElementClass改如何写才能保证main传入数组的class的时候返回元素的class 展开
Class<?> arrayClass=new String[4].getClass();
Class elementClass=getElementClass(arrayClass);
System.out.println(elementClass.equals(String.class));
}
public static Class getElementClass(Class arrayClass){
return String.class;
}
getElementClass改如何写才能保证main传入数组的class的时候返回元素的class 展开
5个回答
展开全部
1、在Java中,所有的数组都有一个缺省的属性length,用于获取数组中元素的个数。
2、数组的复制:System.arraycopy()。浅拷贝
3、数组的排序:Arrays.sort()。
4、在已排序的数组中查找某个元素:Arrays.binarySearch()。
5、获取Class的三种方式:
(1)利用对象调用getClass()方法获取该对象的Class实例;
(2)使用Class类的静态方法forName(),用类的名字获取一个Class实例;
(3)运用.class的方式来获取Class实例,对于基本数据类型的封装类,还可以采用.TYPE来获取相对应的基本数据类型的Class实例。
2、数组的复制:System.arraycopy()。浅拷贝
3、数组的排序:Arrays.sort()。
4、在已排序的数组中查找某个元素:Arrays.binarySearch()。
5、获取Class的三种方式:
(1)利用对象调用getClass()方法获取该对象的Class实例;
(2)使用Class类的静态方法forName(),用类的名字获取一个Class实例;
(3)运用.class的方式来获取Class实例,对于基本数据类型的封装类,还可以采用.TYPE来获取相对应的基本数据类型的Class实例。
展开全部
Class<?> arrayClass=new String[4].getClass(); 本来就是一个Class
你这样做有什么意义?
你是不是这个意思?
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Object obj[] = new Object[4];
obj[0] = "ABC";
obj[1] = 1;
obj[2] = Runtime.getRuntime();
obj[3] = new ArrayList<Object>();
for(Object o : obj){
System.out.println(getElementClass(o));
}
}
private static Class getElementClass(Object o){
return o == null ? null : o.getClass();
}
运行结果:
class java.lang.String
class java.lang.Integer
class java.lang.Runtime
class java.util.ArrayList
你这样做有什么意义?
你是不是这个意思?
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Object obj[] = new Object[4];
obj[0] = "ABC";
obj[1] = 1;
obj[2] = Runtime.getRuntime();
obj[3] = new ArrayList<Object>();
for(Object o : obj){
System.out.println(getElementClass(o));
}
}
private static Class getElementClass(Object o){
return o == null ? null : o.getClass();
}
运行结果:
class java.lang.String
class java.lang.Integer
class java.lang.Runtime
class java.util.ArrayList
追问
我的入参是个Class对象,不是Object
追答
public static Class getElementClass(Class arrayClass) {
return arrayClass.getComponentType();
}
--返回表示数组组件类型的 Class。
看看是不是你想要的!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2022-07-18
展开全部
字符串数组的class对象
String[].class
String[].class
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用getComponentType()可以得到数组元素的class
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你不是已经声明数组类型为Class了吗?
直接return Class.class可以吗?
直接return Class.class可以吗?
追问
方法的要求是
入参是一个数组的Class
出参是数组里面元素的Class
例如入参是String[].class
出参是String.class
追答
原来是要那个~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询