Différent de l'Itérateur décrit dans le billet de blog précédent, cet article décrit un Générateur. Il y a une grande différence entre les deux. Les itérateurs sont utilisés pour parcourir les éléments dans un conteneur. La bibliothèque standard Java possède l'interface Iterator et son implémentation ; mais les générateurs sont utilisés pour créer des objets. La bibliothèque standard Java ne fournit pas l'interface Generator et son implémentation.
[Remarque : veillez à distinguer le générateur ici du mode générateur (c'est-à-dire le mode constructeur) dans le mode conception. Les deux sont différents]
[Générateur]
4. Utilisation du générateur/** - 生成器接口 - @author johnnie - @param <T> */ public interface Generator<T> { /** - 用以产生新对象 - @return */ public T next(); }
/** - Generator 的实现类 - @author johnnie * */ public class PersonGenerator implements Generator<Person> { private Class[] types = new Class[]{Person.class}; public PersonGenerator() { } @Override public Person next() { try { // 利用反射生成 Person 对象 return (Person) types[0].newInstance(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } return null; } public static void main(String[] args) { PersonGenerator generator = new PersonGenerator(); Person person = generator.next(); person.setId(0); person.setName("johnnie"); person.setSex("Man"); System.out.println(person); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!