Anders als der im vorherigen Blogbeitrag beschriebene Iterator beschreibt dieser Artikel einen Generator. Es gibt einen großen Unterschied zwischen den beiden. Iteratoren werden zum Durchlaufen von Elementen in einem Container verwendet. Die Java-Standardbibliothek verfügt über die Iterator-Schnittstelle und ihre Implementierung. Generatoren werden jedoch nicht zum Erstellen von Objekten verwendet.
[Hinweis: Achten Sie hier darauf, den Generatormodus (d. h. den Builder-Modus) im Designmodus zu unterscheiden]
Ein Generator ist eine Klasse, die speziell zum Erstellen von Objekten verwendet wird
Es handelt sich tatsächlich um eine Anwendung des Factory-Methodenmusters und eines allgemeinen A-Typs, der auf eine Schnittstelle angewendet wird
Wenn Sie einen Generator zum Erstellen eines neuen Objekts verwenden, kann das Objekt ohne Parameter erstellt werden -> Dies ist auch der Unterschied zum Factory-Methodenmuster. Factory-Methoden erfordern im Allgemeinen Parameter
Im Allgemeinen definiert der Generator nur eine Methode, die speziell zum Generieren neuer Objekte verwendet wird
Die Java-Standardbibliothek enthält nicht die Generator-Schnittstelle, daher muss der Generator selbst definiert werden.
[Generator]
/** - 生成器接口 - @author johnnie - @param <T> */ public interface Generator<T> { /** - 用以产生新对象 - @return */ public T next(); }
[Beispielcode]
/** - 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); } }
[Ausgabe]
Person [id=0, name=johnnie, sex=Man]
Das obige ist der detaillierte Inhalt vonJava-Hinweise: Verwendung des Generators. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!