Java数组反射实现动态的判断一个对象书否是数组,并且对数组进行拆包输出 。。

 

package me.test;

import java.lang.reflect.Array;

public class ArrayReflect {
 public static void main(String []args)
 {
      
  //数组的几种声明方法 
  String[]  a=new String[]{"aaa","bbb","ccc"}  ;
  String[]  s={"fds","fds","fds"};
  int[]     b=new int[]{1,2,3,4}; 
  int[]     d={1,2,4,5,6,7};
  Object[]  comPlex={1,"fds",56,'d'} ;  //输出不同类型的对象数组
  showReflect(comPlex);

}
 public static  void showReflect(Object obj)      //反射数组对象 注意 这里我们是对数组对象进行拆包     

 {                                                  //数组对应的是Array类
  
  Class  cls=obj.getClass() ;//获得obj对应的字节码 类型
  if(cls.isArray())   //通过字节码判断是否是 Array类型
  {
  int length=Array.getLength(obj) ;//如果是数组 那么获取数组的长度
  for(int i=0;i<length;i++)   //  进行循环
  {
   System.out.println(Array.get(obj, i));  //通过Array类静态方法根据指定的索引输出
  }
  }
  else
  {
   System.out.println(obj.toString());  //如果是一个值的话那么输出
  }
 }
}

时间: 2024-07-29 04:49:45

Java数组反射实现动态的判断一个对象书否是数组,并且对数组进行拆包输出 。。的相关文章

Java的反射机制---动态调用对象的简单方法_java

唉!我还真是在面试中学习新东东啊,一个公司刚刚给了个测试,不过我很奇怪的是为什么web developer的职位居然考java的反射机制题,不过学习研究一下反射机制对我来说是件好事啦! 先说说什么是java反射机制吧,在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法:这 种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制.主要功能:在运行时判断任意一个对象所属的类:在运行时构造任意一个类的对 象:在运行时判断任意一个

Java通过反射机制动态设置对象属性值的方法_java

/** * MethodName: getReflection<br> * Description:解析respXML 在通过反射设置对象属性值 * User: liqijing * Date:2015-7-19下午12:42:55 * @param clzzName * @param respXML * @return * @throws ClassNotFoundException * @throws DocumentException * @throws IllegalArgumentE

java利用反射实现动态代理示例_java

复制代码 代码如下: package com.et59.cus.domain.dao.ex; import java.lang.reflect.Field;import java.lang.reflect.Method;import java.lang.reflect.Modifier; import org.apache.log4j.Logger;/** *  * <p>Title: ReflectUtil.java</p> * <p>Description: 反射&

实例讲解Java编程中数组反射的使用方法_java

什么是反射"反射(Reflection)能够让运行于JVM中的程序检测和修改运行时的行为."这个概念常常会和内省(Introspection)混淆,以下是这两个术语在Wikipedia中的解释: 内省用于在运行时检测某个对象的类型和其包含的属性: 反射用于在运行时检测和修改某个对象的结构及其行为. 从它们的定义可以看出,内省是反射的一个子集.有些语言支持内省,但并不支持反射,如C++. 内省示例:instanceof 运算符用于检测某个对象是否属于特定的类. if (obj insta

JAVA核心层--反射--动态代理

本文发表于2010年,时间较早,部分问题解释不是十分准确,所以需要进一步了解,请参看2012年版本: java之架构基础-动态代理&cglib 要在JAVA技术上突破普通的层面,并拥有一翻设计理念的高度,除了要有很好的设计思维之外,反射在适当的使用下,将会把框架做得非常清晰,并且代码编写也非常简便. 在面向对象的编程中,我们为什么要忌讳去大量使用if else switch语句,因为这样写是将逻辑硬编码了,JAVA的思想就是将其配置化,一旦可配置化后,就逐渐可管理化,并随着产品的成熟逐步实现自动

java 利用java反射机制动态加载类的简单实现_java

如下所示: ////////////////// Load.java package org.bromon.reflect; import java.util.ArrayList; import java.util.List; public class Load implements Operator { @Override public List<?> act(List<?> params) { // TODO Auto-generated method stub List<

js语法学习之判断一个对象是否为数组_javascript技巧

1,真正的数组的判断方法 javascript中最简单的声明数组方法为: var a = []; 判断是否为数组的最直接的方法为: 复制代码 代码如下: a instanceof Array //true a .constructor == Array //true 这里涉及到一个instanceof语法,instanceof是一个云算符,与"+-*/"一样,它的语法如下: result = obj intanceof class 是用来判断一个对象是否是某个class的一个实例,运算

java 反射和动态代理详解及实例代码_java

一.java中的反射 1.通过反射加载类的属性和方法实例代码: /** * java.lang.Class 是反射的源头 * 我们创建了一个类,通过编译(javac.exe)生成对应的class文件,之后我们通过java.exe加载(jvm的类加载器加载)此class文件 * 此class文件加载到内存后,就是一个运行时类,存在缓存区,这个运行时类本事就是一个Class的实例 * 每一个运行时类只加载一次, */ Class<StudentExam> clazz = StudentExam.c

如何通过java反射机制动态获得方法名

问题描述 AllBOClient xf = new AllBOClient(pb.getWsdlurl());AllBOPortType bo = xf.getAllBOHttpPort();bo.notice2Province(a[1],a[0]);在数据库中存有notice2province的值,怎样运用反射机制动态获得notice2province的值?问题补充:从数据库读出值来替换notice2Province问题补充:congjl2002的答案似乎还少了一步,我还需要向得到的方法中传入