Dne 25.11.2010 08:26, Martin Beranek napsal(a):
Tak si trošku odpovím sám. Je třeba použít T? super B, ale neřeší to
můj problém...
private class A {}
private class B extends A {}
private abstract class DaoAT extends A {
void doSomething(T param) {}
}
private class DaoB extends
Dobry den,
ked je treba presvedcit zakaznika, aby upgradol Javu z 5.0 na 6.0, staci
povedat, ze pre J2SE 5.0 dna 3.11.2009 bolo stopnute vydavanie updatov. Tu je
linka:
http://www.oracle.com/technetwork/java/javase/downloads/index-jdk5-jsp-142662.html
Cize pripadne bezpecnostne diery nebudu
Krátká verze = praktická rada: Konstrukci ? extends (a super) se
snažte vždy vyhnout. Zvlášť u proměnných.
Pro správné pochopení je potřeba plně rozumět kovarianci a
kontravanrianci
(http://en.wikipedia.org/wiki/Covariance_and_contravariance_%28computer_science%29),
nicméně i tak to nemusí být
Ještě intuitivnější vysvětlení je s kolekcemi:
List? extends A l;
if (externifunkce()) {
l = new ArrayListB();
} else {
l = new ArrayListC();
l.add(new C());
}
//a toto nesmi byt povoleno, protoze l muze byt ListC !
l.add( new B() );
Kamil Podlešák
Podle mne je problém v DaoA? extends A dao = new DaoB(); - tam dochází ke
zbytečnému zobecnění, protože pro takto nadeklarovanou referenci dao už
překladač neví, že na ní smí volat jen doSomething(B).
Podle názvů tříd to na mě působí dojmem, že A je nějaký předek doménových
objektů a chcete
diky,
pekne vysvetleni (obe dve), je mi jasne proc to nejde
Dne 25.11.2010 10:00, Kamil Podlesak napsal(a):
Ještě intuitivnější vysvětlení je s kolekcemi:
List? extends A l;
if (externifunkce()) {
l = new ArrayListB();
} else {
l = new ArrayListC();
l.add(new C());
}
//a
Dne 25.11.2010 10:08, Tomáš Záluský napsal(a):
Podle mne je problém v DaoA? extends A dao = new DaoB(); - tam dochází ke
zbytečnému zobecnění, protože pro takto nadeklarovanou referenci dao už
překladač neví, že na ní smí volat jen doSomething(B).
Podle názvů tříd to na mě působí dojmem,
Dobrý den,
děkuji všem za odpovědi.
Petr Procházka animal sniffer
https://animal-sniffer.dev.java.net/signature-checker.html jsem nenašel.
Zajímavý nápad, co všechno se dá udělat, když člověk nechce instalovat druhé
JDK :-). Zvážil bych ho, kdybych to měl nasadit v nějakém automatizovaném
Jenom poznámku:
Dne 25.11.2010 10:00, Kamil Podlesak napsal(a):
Ještě intuitivnější vysvětlení je s kolekcemi:
List? extends A l;
if (externifunkce()) {
l = new ArrayListB();
} else {
l = new ArrayListC();
Tohle taky přes kompilátor neprojde:
l.add(new C());
}
//a toto nesmi
Ještě si s tím hraju, a zjistil jsem, že do
List? extends B l;
nejde přidat vůbec nic, a to dokonce ani
l.add( l.get(0) );
Je to sice logické, ale naprosto protiintuitivní.
Makub
--
~~
Supercomputing Center Brno Martin
Ahoj,
2010/11/25 Martin Kuba ma...@ics.muni.cz:
Ještě si s tím hraju, a zjistil jsem, že do
List? extends B l;
nejde přidat vůbec nic, a to dokonce ani
l.add( l.get(0) );
Tohle sice ne, ale null (jako jediná hodnota) se přidat dá :-)
Je to sice logické, ale naprosto protiintuitivní.
Konstrukci ? extends Neco bych nezavrhoval, protoze je užitečná pro
parametry metody.
Př.: metoda, která provede nějakou operaci se všemi prvky seznamu, v němž
je každý prvek typu Number.
void perform(List? extends Number p) {
for (Number n : p) {
process(n);
}
}
void
Ano, to je asi nejčastější použití. To že takto deklarovaný parametr je
efektivně read-only (pokud tedy mluvíme o kolekcích) je dobré, dokonce
žádoucí.
U proměnných situace trochu jiná...
Kamil Podlešák
2010/11/25 Zdeněk Troníček troni...@fit.cvut.cz
Konstrukci ? extends Neco bych nezavrhoval,
Uz jsem to vyresil. Dodatecne se omlouvam za nepresne informace.
Lukas
__
Od: Lukas lzap Zapletal luka...@zapletalovi.com
Komu: konference@java.cz
Datum: 24.11.2010 17:43
Předmět: Re: autentikace
Velmi nestastne zvoleny topic.
Ahoj Javisti. Potreboval bych poradit s problemem, kdy je potreba se
autentizovat/autorizovat LDAPem pres SSL za pouziti certifikatu pomoci Spring
security. Od zakaznika jsem dostal certifikaty, ktere mam pouzit. Vubec
netusim, jak a hlavne kam se ty certifikaty musi nacpat(JDK, Tomcat,...??),
Pokud se jedná o serverový certifikát tak ten se pomocí keytool dá do
JKS keystoru a cesta k tomu jks se nastaví jako truststoreFile u
konektoru tomcata v server.xml.
On 11/25/2010 05:58 PM, el.wond...@centrum.cz wrote:
Ahoj Javisti. Potreboval bych poradit s problemem, kdy je potreba se
Dobry den, mam webovou aplikaci, ktera spousti nova vlakna, ve kterych bezi
dlouho trvajici vypocty. Kdyz aplikaci odinstaluju z Tomcatu (verze 7) mam v
logu nasledujici hlasku. Myslim si, ze aplikace korektne neukonci vsechna
bezici vlakna behem odinstalace. Nesetkal jste se nekdo s timto
Dobry den, mam webovou aplikaci vyuzivajici framework Spring ve verzi 3.0.2.
Potreboval bych zmenit uroven logovani Springu, protoze mi neustale vypisuje
debug hlasky ze vyzvedtl databazove pripojeni z poolu. Uz jsem zkousel
vlozit log4j.properties do WEB-INF/classes, kde jsem mel:
Pokusil bych se spustit aplikaci s parametrem -Dlog4j.debug, pak by mělo být
vidět odkud se natahuje konfigurace log4j
Petr
Dne 26. listopadu 2010 8:21 Vladislav Krejcirik vkrejci...@gmail.comnapsal(a):
Dobry den, mam webovou aplikaci vyuzivajici framework Spring ve verzi
3.0.2.
Potreboval
Dne 25.11.2010 17:58, el.wond...@centrum.cz napsal(a):
Ahoj Javisti. Potreboval bych poradit s problemem, kdy je potreba se
autentizovat/autorizovat LDAPem pres SSL za pouziti certifikatu pomoci Spring
security. Od zakaznika jsem dostal certifikaty, ktere mam pouzit. Vubec
netusim, jak a
Dobry den, diky za odezvu. Jak myslite spustit? Je to webova aplikace, kterou
nasazuji na aplikacni server.
-
Vladislav Krejcirik (http://www.vkrejcirik.info)
--
View this message in context:
21 matches
Mail list logo