Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    conoscere la visibilità di un campo

    salve

    Mi sto esercitando sulla riflessione,

    Vorrei sapere se è possibile, utilizzando la classe Field sapere il tipo di visibilità di un campo.

    Cioè devo realizzare un metodo statico che mi setti a 0 tutti i campi pubblici di un oggetto passato come parametro.

    Dall'oggetto risalgo alla classe con getClass(), poi ottengo l'array dei campi della classe con GetDeclaredFields(), e a questo punto dovrei verificare se un campo è pubblico, nel qual caso settarlo a 0, con setInt suppongo

    Come faccio a sapere se un campo è pubblico oppure no?

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    se usi getFields puoi accedere al campo, non è detto che sia public ma puoi accederci
    comunque il metodo getModifiers() ritorna una maschera di bit che poi decodifichi con i campi di Modifier

  3. #3
    grazie mille del consiglio, ho risolto nel seguente modo :

    codice:
    	public static void reset(Object x ) {
    		Class c=x.getClass();
    		Field[] f=c.getDeclaredFields();
    		
    		for (int i=0;i<f.length;i++) {
    			if (f[i].getType()==int.class) {
    				if (Modifier.isPublic(f[i].getModifiers())) {
    					try {
    						f[i].setInt(x,0);
    					}
    					catch(IllegalAccessException e) {}
    				}
    			}
    		}
    	}

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.