Java 学习笔记 反射与迭代器

反射

使用反射获得类

Class cls = Class.forName("全类名") //包括包名
Class cls = xx.Class;//xx代表类名

使用反射获得构造方法

有个构造方法如:

public Book(String bookName, String author,double price) {
        this.bookName = bookName;
        this.author = author;
        this.price = ((int) price);
    }

在使用反射来获得的构造方法的时候需要与构造方法中的参数类型进行对应

Constructor declaredConstructor = cls.getDeclaredConstructor(String.class, String.class, double.class);
//或者使用包装类的静态常量TYPE,表示的是该包装类的基本类型
Constructor declaredConstructor = cls.getDeclaredConstructor(String.class, String.class, Double.TYPE);

list 迭代器

listiterator和iterator
listiterator继承iterator,是iterator的增强版
listiterator可以双端遍历,通过list.listIterator()方法返回,方法中可以带一个指定下标的数,比iterator要方便

如果想要从末尾向前找,可以定义迭代器的开始为list的末尾,之后往前查找

ListIterator listIteratorlists.listIterator(lists.size());
while (listIterator.hasPrevious()) {
    System.out.println(listIterator.previous());
}

猜你喜欢

转载自www.cnblogs.com/kexing/p/10617400.html