Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 31-07-2007, 17:05   #1
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
...Java Reflection...

...avendo una classe di beans come è possibile visualizzare il contenuto di tutti i suoi elementi per mezzo della reflection?...

...grazie ciao...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2007, 17:25   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da ally Guarda i messaggi
...avendo una classe di beans come è possibile visualizzare il contenuto di tutti i suoi elementi per mezzo della reflection?...
Avendo un oggetto Class, usi il metodo getMethods().

Le specifiche JavaBeans stabiliscono come denominare i metodi. Ci saranno quindi dei metodi con nome setXXX, getXXX (o eventualmente isXXX nel caso di proprietà boolean) e per i listener, addXXXListener/removeXXXListener.

A quel punto prendi in considerazione solo i metodi che sono validi secondo le specifiche. Se ad esempio hai una proprietà 'Name' di tipo String, i metodi set/get possono essere:

public void setName (String n)
public String getName ()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)

Ultima modifica di andbin : 31-07-2007 alle 17:28.
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2007, 18:42   #3
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Usa Introspector (java.beans). Ti fai dare il BeanInfo:

BeanInfo info = Introspector.getBeanInfo(instance.getClass());

e sei a cavallo. Per leggere le proprietà leggi il BeanInfo, ad esempio in un ciclo:

Codice:
for(PropertyDescriptor pd : info.getPropertyDescriptors()) {
    String name = pd.getName();
    Object value = pd.getReadMethod().invoke(instance);
}
Dietro le quinte fa quello che ha descritto andbin.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2007, 20:34   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Usa Introspector (java.beans)
Devo ammettere che non conosco questo package.
Vedrò di colmare la lacuna.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2007, 20:57   #5
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Se ti facessi una lista di quelli che non conosco io finiremmo domattina
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2007, 22:36   #6
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
Quote:
Originariamente inviato da andbin Guarda i messaggi
Devo ammettere che non conosco questo package.
Vedrò di colmare la lacuna.
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Se ti facessi una lista di quelli che non conosco io finiremmo domattina
ciao modestia
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2007, 22:42   #7
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
http://www.hwupgrade.it/forum/showth...6#post18132516

se qualche moderatore vuole unire le discussioni.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2007, 00:46   #8
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Sono questioni diverse. Qui interessa più che la riflessione in sè una sua applicazione, che è per altro semplificata da uno strumento ad hoc. Diciamo che è sempre riflessione ma è applicabile solo in certi casi.

All'allegro "ciao modestia" di franksiska rispondo con un altrettanto allegro: qui bisogna volare non bassi ma rasoterra.

Una settimana scrivo una cosa e quella dopo scopro che c'è un altro modo per farla che è due volte più semplice, sicuro e standard. E questo da tempi ormai immemori. Insomma non è modestia, è realismo
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2007, 13:56   #9
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Una settimana scrivo una cosa e quella dopo scopro che c'è un altro modo per farla che è due volte più semplice, sicuro e standard. E questo da tempi ormai immemori. Insomma non è modestia, è realismo
modestia per modesti, io da esperienza personale posso sintetizzare così:

se non so una cosa vengo qua e tu (ti dò del tu) o altri me li risolvete, se io sò una cosa tu la risolvi tipicamente meglio.....

spero col tempo di acquistare abbastanza esperienza da poter reggere il confronto anche con quelli come te

e comunque, grazie per le delucidazioni sempre impeccabili
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 11:41   #10
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
...ottimo grazie...ecco cosa ne è nato...

Codice:
public static void main(String args[]){
		
		Beans beans = new Beans();
		
		beans.setIntero(1);
		beans.setLungo(2);
		beans.setStringa("3");
		
		try {
			BeanInfo info = Introspector.getBeanInfo(beans.getClass());
			PropertyDescriptor[] pd = info.getPropertyDescriptors();
			
			for(int i=0;i<pd.length;i++) {
			    Method name = pd[i].getReadMethod();
			    Object value = (Object)pd[i].getReadMethod().invoke(beans, null);
			    System.out.println(value);
			}
		} catch (Exception e) {
			System.out.println(e);
		}
		
		
	}
...ciao...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 13:37   #11
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
invoke restituisce un Object. La conversione esplicita da Object a Object (esplicitamente prevista dalle specifiche del linguaggio per una ragione che non ho mai compreso) dovrebbe essere superflua.

(Object)pd[i].getReadMethod().invoke(beans, null);
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2007, 14:13   #12
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
invoke restituisce un Object. La conversione esplicita da Object a Object (esplicitamente prevista dalle specifiche del linguaggio per una ragione che non ho mai compreso) dovrebbe essere superflua.

(Object)pd[i].getReadMethod().invoke(beans, null);
...si si...è un avanzo di codice di debug....

...grazie ancora...

...ciao...
ally è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Ron Gilbert, il creatore di Monkey Islan...
AMD, aumento dei prezzi per i processori...
I migliori regali di Natale a meno di 50...
Sorprese post Black Friday: questi TV 4K...
NVIDIA perde quota, AMD e Intel guadagna...
Il cloud ibrido al centro delle strategi...
Amazon sorprende: avviatori, compressori...
Super ribassi Bose su Amazon: QuietComfo...
Instagram cambia rotta: basta lavoro ibr...
AirPods Pro 3 a prezzo bomba, ma le AirP...
Prezzi giù su Oral-B: spazzolini elettri...
Europol ha smantellato Cryptomixer: sequ...
Roborock H60 Hub: aspira e si svuota da ...
Xiaomi fa sul serio anche sulle auto: su...
NVIDIA in prima fila per il processo a 1...
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: 11:54.


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