package test;

import java.lang.reflect.Field;

import com.labway.oa.po.Product;

public class Fieldtest {
	public static void main(String[] args) throws Exception {
		Product p=new Product();
		Field[] fields=p.getClass().getDeclaredFields();
		for (Field field : fields) {
			System.out.println(field.getName());
			field.setAccessible(true);
			System.out.println(field.get(p));
			System.out.println(field.getType());
			System.out.println(field.getAnnotations());
			
		}
		
		
	
	}
}
实例:
	//前台修改内容审计
	private void insertSampleShenJiMethod(Sample sample, Sample sample_fenku,
			StringBuffer sb, List mobans) {
		// 前台登记审计
		Field oldFields[] = sample_fenku.getClass().getDeclaredFields();// 获取两个类中所有的属性
		Field newFields[] = sample.getClass().getDeclaredFields();// 获取两个类中所有的属性
		if(null!=sample_fenku.getDue_date()){
			sample_fenku.setDue_date(sample_fenku.getDue_date().substring(0, 10));
		}
		if(null!=sample_fenku.getX_receivedate()){
			sample_fenku.setX_receivedate(sample_fenku.getX_receivedate().substring(0, 10));
		}
		for (int i = 0; i < oldFields.length; i++) {
			Field oldField = oldFields[i];
			// 设置成可以操作private的变量
			oldField.setAccessible(true);
			for (int j = 0; j < newFields.length; j++) {
				Field newField = newFields[j];
				newField.setAccessible(true);
				if (mobans.contains(oldField.getName())) {
					
					// 是否是同一个属性

					if (oldField.getName().equals(newField.getName())
							&& !oldField.getName().equals("changed_on")
							&& !oldField.getName().equals("login_by")
							
							) {
						// 两个值是否相等

						try {
							if (null != oldField.get(sample_fenku)
									&& null != newField.get(sample)) {

								if (!oldField.get(sample_fenku).equals(
										newField.get(sample))) {
									sb.append(oldField.getName() + ":"
											+ oldField.get(sample_fenku) + " →"
											+ newField.get(sample) + "
"); } else { } } if (null == oldField.get(sample_fenku) && null != newField.get(sample) &&!"".equals(newField.get(sample))) { if(!"".equals(newField.get(sample))){ sb.append(oldField.getName() + ":" + oldField.get(sample_fenku) + " →" + newField.get(sample) + "
"); } } if (null != oldField.get(sample_fenku) && null == newField.get(sample)) { } } catch (IllegalArgumentException | IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } } Sample_shenji sampleshenji = new Sample_shenji(); Date date = new Date(); sampleshenji.setName(sample.getLogin_by()); sampleshenji.setTime(FORMAT_LONG.format(date)); sampleshenji.setSample_number(sample.getSample_number()); sampleshenji.setText_id(sample.getText_id()); sampleshenji.setContent(sb.toString()); insertSampleshenji(sampleshenji); }