Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max mette un pannello IPS da 13 pollici con risoluzione 2,5K e refresh a 120 Hz davanti a una batteria da 10.100 mAh e a quattro altoparlanti. Il listino parte da 399,90 euro, per un progetto molto chiaro e ambizioso: schermo ampio, buon audio e giornate lontano dalla presa, a un prezzo che non pesa sul portafoglio
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Con la quattordicesima generazione Lenovo ridisegna il suo ThinkPad più iconico attorno al nuovo Space Frame e ai processori Intel Core Ultra Series 3. Resta sotto 1Kg, è molto più semplice da riparare e si rivolge al professionista che lavora in mobilità, con un prezzo da prodotto di vertice.
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
Le Jabra Evolve3 85 non sono semplicemente cuffie Bluetooth con cancellazione del rumore. Sono un dispositivo professionale pensato per chi trascorre gran parte della giornata in riunione, al telefono o davanti a un assistente basato sull'intelligenza artificiale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-09-2012, 13:59   #1
cloutz
Senior Member
 
L'Avatar di cloutz
 
Iscritto dal: Apr 2008
Messaggi: 2000
[JAVA] Generics wildcards

Ciao a tutti,

Neanche dal tutorial Oracle mi è chiaro, come mai non posso fare questo?


Codice:
class NaturalNumber {

	private int i;

	public NaturalNumber(int i) {
		this.i=i;
	}

}

public class AnotherNaturalNumber extends NaturalNumber {

	public AnotherNaturalNumber(int i) {
		super(i);
	}

	public static void main(String[] args) {
		List<AnotherNaturalNumber> le = new ArrayList<>();
		List<? extends NaturalNumber> ln = le;
		ln.add(new AnotherNaturalNumber (35)); 	// compile-time error
	}
}
Grazie
__________________
"Sei fortunato che non sei un mio studente. Non prenderesti un buon voto per un tale progetto" [Andrew Stuart Tanenbaum a Linus Torvalds nel 1991, sul kernel linux]
Linux user number 534122
cloutz è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2012, 14:40   #2
*andre*
Senior Member
 
Iscritto dal: Sep 2007
Messaggi: 1071
Quote:
Originariamente inviato da cloutz Guarda i messaggi
Ciao a tutti,

Neanche dal tutorial Oracle mi è chiaro, come mai non posso fare questo?


Codice:
class NaturalNumber {

	private int i;

	public NaturalNumber(int i) {
		this.i=i;
	}

}

public class AnotherNaturalNumber extends NaturalNumber {

	public AnotherNaturalNumber(int i) {
		super(i);
	}

	public static void main(String[] args) {
		List<AnotherNaturalNumber> le = new ArrayList<>();
		List<? extends NaturalNumber> ln = le;
		ln.add(new AnotherNaturalNumber (35)); 	// compile-time error
	}
}
Grazie
Vado a memoria. Attraverso una referenza con generico wildcard (che abbia limite superiore o inferiore non ha importanza) non puoi modificare l'oggetto. In qualche modo si può dire che è read-only.

Codice:
le.add(...);
Questo invece funziona
__________________
Affari: ariakasneverborne, PanCar, Luk@°°°, Fabio310, kintaro oe, krike, fabry180384, dariox am2, chiadoz, windsofchange, dado1979, Rudyduca, aleforumista, Sheva77
*andre* è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2012, 14:42   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Qua trovi tutte le spiegazioni del caso:
http://www.angelikalanger.com/Generi...Instantiations
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2012, 14:51   #4
cloutz
Senior Member
 
L'Avatar di cloutz
 
Iscritto dal: Apr 2008
Messaggi: 2000
Avevo capito che l'oggetto era read-only (), la mia domanda era: come mai?

Risposta trovata nel link di banryu79:
Quote:
In this situation the compiler does not let us assign anything to the field or pass anything to the put method. The reason is that the compiler cannot make sure that the object that we are trying to pass as an argument to a method is of the expected type, since the expected type is unknown. Similarly, the compiler does not know of which type the field is and cannot check whether we are assigning an object of the correct type, because the correct type is not known.
Per questo non permette di modificare l'oggetto, credo
__________________
"Sei fortunato che non sei un mio studente. Non prenderesti un buon voto per un tale progetto" [Andrew Stuart Tanenbaum a Linus Torvalds nel 1991, sul kernel linux]
Linux user number 534122
cloutz è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro Jabra Evolve3 85: le cuffie sia per l'intratteni...
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
Adobe e Disney: alleanza sull'AI, con Fi...
La tua GPU potrebbe lavorare per Microso...
Bici elettrica da 26'' con batteria da 5...
Con GR00T 2 di NVIDIA i robot imparano a...
Black Friday Amazon, partono i prezzi sp...
TD SYNNEX: investire nell'AI non basta, ...
Bollette, quanto fa risparmiare davvero ...
Meta sfida Claude Haiku con Muse Ember: ...
Roborock Saros 10R, crollo di prezzo su ...
Anthropic lancia Fable 5.2 e Mythos 5.2,...
Francia, attacchi hacker ai frigoriferi ...
Huang è solo l'ultimo di una lung...
Elon Musk conferma la fine del Cybertruc...
CrowdStrike acquisisce Fiddler: nasce Fa...
QNAP ES2486AFdc, storage all-flash e sup...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:06.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v