suchen
HeimJavajavaLernprogrammAnonyme innere Java-Klasse, die einen Wert übergibt

Anonyme innere Java-Klasse, die einen Wert übergibt

Dec 15, 2016 pm 01:01 PM
anonyme innere Klasse

In Nutz gibt es viele Situationen, in denen anonyme interne Klassen verwendet werden müssen. Viele Kinder sind verwirrt über die Übergabe von Werten, daher erkläre ich hier

Übergabe:

//匿名内部类,只能访问final的本地变量及方法参数 
public void addUser(final String name, String passwd, final String userType) { 
    User user = null; 
    if ("admin".equal(userType)) 
        user = new AdminUser(name, passwd); //仅作演示. 
    else 
        user = new User(name, passwd); 
    final User _user = user; //因为user变量不能设置为final,所以需要新加一个变量来中转 
    Trans.run(new Atom(){ 
        public void run() { 
            dao.insert(_user); 
            if (log.isDebugEnable()) 
                log.debugf("Add user id=%d, name=%s , type=%s", _user.getId(), name, userType); 
        } 
    }); 
}

Ausgehend (Methodenrückgabewert abrufen usw.):

Methode 1 – Objektarray-Methode verwendet ein endgültiges Objektobjektarray, um die erforderlichen Werte zu speichern

public long countUser(final String userType) { 
    final Object[] objs = new Object[1]; 
    Trans.run(new Atom(){ 
        public void run() { 
            objs[0] = dao.count(User.class, Cnd.where('userType', '=', userType)); 
        } 
    }); 
    return ((Number)objs[0]).longValue(); 
}


Methode 2 – ThreadLocal-Methode verwendet ein ThreadLocal zum Speichern der Ergebnisse. Dieses ThreadLocal kann statisch sein und von der gesamten App verwendet werden

private static final ThreadLocal re = new ThreadLocal(); //自行补上泛型Object 
public long countUser(final String userType) { 
    Trans.run(new Atom(){ 
        public void run() { 
            re.set(dao.count(User.class, Cnd.where('userType', '=', userType))); 
        } 
    }); 
    return ((Number)re.get()).longValue(); //严谨一点的话,应该将ThreadLocal置空 
}


Methode 3 – Molecule-Methode Die Molecule-Klasse ist die integrierte abstrakte Klasse von Nutz, die die Schnittstellen Runnable und Atom implementiert und zwei Methoden zum Abrufen/Festlegen von Werten hinzufügt 🎜>

public long countUser(final String userType) { 
    Molecule mole = new Molecule() { //需要自行补齐泛型 
        public void run() { 
            setObj(dao.count(User.class, Cnd.where('userType', '=', userType))); 
        } 
    }; 
    Trans.run(mole); 
    return ((Number)mole.getObj()).longValue(); 
}

Weitere Artikel zur Wertübergabe anonymer interner Klassen in Java finden Sie auf der chinesischen PHP-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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung