解决方案 »
- Struts2浏览器直接访问Action可以成功 通过链接跳转报There is no Action mapped for namespace / and...
- 请教各位java导Excel的问题
- MyEclipse移除xfire
- 请教个关于JAVA包的问题
- [初学者]<Java RMI问题>运行rmic后,没有生成对应的残根和框架,为什么?
- 为什么要使用Jboss一类的应用服务器?
- Apache与Tomcat整合问题,大家大家帮帮忙!
- Weblogic7和JBuilder8的一个问题,大虾请进?高分,在线等待!马上结帐。
- 大家瞧一眼
- 请问Servlet、Java Bean、和EJB有什么区别,现在应该学习什么?
- mybatis查询日期范围速度慢的原因
- java JDK动态代理和cjlib动态代理里的invoke 方法的疑惑
bbbb instanceof int[]
ccc instanceof Object[]
aaa instanceof Object[] ,但是int[] 不可以
数组部分,int 不会自己进行封箱,拆箱操作
* @see java.lang.Boolean#TYPE
* @see java.lang.Character#TYPE
* @see java.lang.Byte#TYPE
* @see java.lang.Short#TYPE
* @see java.lang.Integer#TYPE
* @see java.lang.Long#TYPE
* @see java.lang.Float#TYPE
* @see java.lang.Double#TYPE
* @see java.lang.Void#TYPE
Integer[] a = {1,2,3,4,5,6,7,8,9};
if (a instanceof Object[]) {
System.out.println(a.getClass());
}通过 getClass() 方法就可以得到数组的类型啊
不知道是否是楼主想要的结果
public void testStrings()
{
String [] strs = {};
int [] ints = {};
Object [] objects = {};
System.out.println(ints.getClass().isAssignableFrom(int [].class));
System.out.println(strs.getClass().isAssignableFrom(String [].class));
System.out.println(objects.getClass().isAssignableFrom(Object [].class));
}
public class ArrayTest { public static void main(String[] args)
{
String[] arr1 = {"1","2","3","4","5"};
int[] arr2 = {1,2,3,4,5};
Object[] arr3 = new Object[10];
String notArr= "not array";
//判断是否为数组
System.out.println(arr1.getClass().isArray());
System.out.println(arr2.getClass().isArray());
System.out.println(arr3.getClass().isArray());
System.out.println(notArr.getClass().isArray());
//获取数组元素类型名称
System.out.println(arr1.getClass().getComponentType().getName());
System.out.println(arr2.getClass().getComponentType().getName());
System.out.println(arr3.getClass().getComponentType().getName());
}
}
输出结果为:
true
true
true
false
java.lang.String
int
java.lang.Object
方法返回类型未确定的话,方法之一是可以定义返回类型为所有期待返回值类型的父类,LZ现在就是想知道这个所有期待返回值类型的父类该是哪个吧?其实可以使用泛型方法的吧:
private <K> K methodTypeParam(){
return (K) new int[]{1,2};
}
@Test
public void testMethodTypeParam(){
int[] i = this.methodTypeParam();
System.out.println(i);
}不过如果类型不对的话会抛出ClassCastException的.还有,对于混合数组.楼上的那些判断方法该如何处理:Object[]cc = {new Object(),1};
Number[] dd = {new Long(1),1.2};
估计有不少人很少意识到可以写成:if (a.getClass() == int.class) {}if (new int[0] instanceof int[]) {}为什么不拿编译器来验证一下呢。
例如int[] sam = new int[10]; sam是一个Object,可是具体是哪一个类的??
估计有不少人很少意识到可以写成:if (a.getClass() == int.class) {}if (new int[0] instanceof int[]) {}为什么不拿编译器来验证一下呢。第二个是对的,第一个在Java语法中就不存在int.class.
你这样测试能测试出什么东西??