Heim  >  Artikel  >  Java  >  Java-Hinweise: Verwendung des Generators

Java-Hinweise: Verwendung des Generators

无忌哥哥
无忌哥哥Original
2018-07-20 11:01:572344Durchsuche

1. Einführung

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]

Einleitung

  1. Ein Generator ist eine Klasse, die speziell zum Erstellen von Objekten verwendet wird

  2. Es handelt sich tatsächlich um eine Anwendung des Factory-Methodenmusters und eines allgemeinen A-Typs, der auf eine Schnittstelle angewendet wird

  3. 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

  4. Im Allgemeinen definiert der Generator nur eine Methode, die speziell zum Generieren neuer Objekte verwendet wird

3. Generatorschnittstelle

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();

}

4. Verwendung des Generators

[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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn