`
刘小小尘
  • 浏览: 62780 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java反射 String数组

 
阅读更多
public class Test
{
public static void main(String[] args) throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException
{
  
   Method m= Test.class.getMethod("wish", String.class,String.class,String.class);
   m.invoke(null, new String[]{"1","2","3"});
//1.由于方法有多个参数,在这里面,把这三个参数用数组的形式给出
   m.invoke(null, new String("a"),new String("b"),new String("c"));
    //2.这里也可以不用数组的形式给出
}

public static void wish(String str1,String str2,String str3)
{
   System.out.println(str1);
   System.out.println(str2);
   System.out.println(str3);
}
}

但是如果我们要在把wish方法中参数改成时一个数组,该如何进行反射呢?如下:

public class Test
{
public static void main(String[] args) throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException
{
  
   Method m= Test.class.getMethod("wish", String[].class);
   //m.invoke(null, new String[]{"1","2","3"});这种方法是不行的
   //因为new String[]{"1","2","3"},程序会看做是wish方法有3个参数,类型都是string的,而不是把这个数组看做是一个参数
  
   m.invoke(null, (Object)new String[]{"1","2","3"});
   //1.强制转换
   m.invoke(null, new Object[]{new String[]{"1","2","3"}});
   //2.用超类的数组形式,new String[]{"1","2","3"}作为参数数组的第一个元素;
//这李说明,我们在写参数的时候,都可以写成数组的形式。
}

public static void wish(String[] strs)
{
   for(String str:strs)
   {
    System.out.println(str);
   }
}
}


分享到:
评论

相关推荐

    Java方法反射调用demo

    Java反射 调用空参方法 调用Object类型参数的方法 调用基本类型参数的方法 调用基本类型数组参数的方法 调用String数组参数的方法 调用Object数组参数的方法 调用私有方法

    Java SE编程入门教程 java数组(共33页).pptx

    Java SE编程入门教程 java反射机制(共16页).pptx Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程...

    Java 反射(Reflection) 经典实用例子

    Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射。反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例中...

    Java SE编程入门教程 java反射机制(共16页).pptx

    Java SE编程入门教程 java反射机制(共16页).pptx Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程...

    Java基础知识点 - 内容比较全面

    1.7 Java中的反射机制 1.8 Java中Heap与Stack的区别 1.9 Java中String和StringBuffer的区别 1.10 Java中Comparable和Comparator实现对象比较 1.11 Java中的JNDI (Java命名与目录接口) 1.12 Java事件处理机制...

    springmybatis

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...

    Java SE编程入门教程 String字符串(共27页).pptx

    Java SE编程入门教程 java反射机制(共16页).pptx Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程...

    Java开发技术大全(500个源代码).

    代码范例列表 第1章 ... useArray2.java 用反射机制使用数组示例2 第10章 示例描述:本章学习泛型。 demoBounds.java 演示有界类型 demoForceChange.java 演示强制类型转换 demoGeneric.java ...

    Java SE编程入门教程 java判断循环(共79页).ppt

    Java SE编程入门教程 java反射机制(共16页).pptx Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程...

    Java SE编程入门教程 java泛型(共11页).pptx

    Java SE编程入门教程 java反射机制(共16页).pptx Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程...

    Java SE编程入门教程 java序列化(共14页).pptx

    Java SE编程入门教程 java反射机制(共16页).pptx Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程...

    反射机制用Java描述下载资料

    反射机制用Java描述下载资料 import java.lang.reflect.Array; public class ArrayTest { public static void main(String[] args){ try{ //创建一个元素类型为String,长度为10的数组 Object arr=Array....

    Java SE编程入门教程 java instanceof(共3页).pptx

    Java SE编程入门教程 java反射机制(共16页).pptx Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程...

    Java SE编程入门教程 java异常(共57页).pptx

    Java SE编程入门教程 java反射机制(共16页).pptx Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程...

    Java SE编程入门教程 java GC(共6页).pptx

    Java SE编程入门教程 java反射机制(共16页).pptx Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程...

    Java SE编程入门教程 java IO(共28页).pptx

    Java SE编程入门教程 java反射机制(共16页).pptx Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程...

    Java SE编程入门教程 java线程(共61页).pptx

    Java SE编程入门教程 java反射机制(共16页).pptx Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程...

    Java SE编程入门教程 java集合(共38页).pptx

    Java SE编程入门教程 java反射机制(共16页).pptx Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程...

    Java SE编程入门教程 java正则(共8页).pptx

    Java SE编程入门教程 java反射机制(共16页).pptx Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程...

    Java SE编程入门教程 java object(共9页).pptx

    Java SE编程入门教程 java反射机制(共16页).pptx Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程...

Global site tag (gtag.js) - Google Analytics