Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Đang ở
    hà nội
    Bài viết
    0

    Cách copy giá trị cho từng property javabean?

    Giả sử em có 1 mảng String n phần tử sau

    Mã:
    String[] array [value1, value2, ...., value n]
    Và một java bean như sau :

    Mã:
    public class bean {
    
       private String prop1;
       private String prop2;
       ....
       private String propn;
    
      // getter, setter
    }
    Giờ cho em hỏi có cách nào để "auto" 1 vòng lặp để copy từng value trong mảng array vào từng prop của javabean không. Đại loại như sau :


    Mã:
    for(int i = 0 ; i < n; i++){
    
        bean.prop[i] = array[i]; // cái chỗ này em không biết dùng câu lệnh j (:=(|)(:=(|)
    }
    Thank các bác

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Dùng Reflection.

    Mã:
    import java.lang.reflect.Field;
    import java.lang.reflect.Modifier;
    import java.util.ArrayList;
    import java.util.List;
    
    public class ReflectionEx {
    
        public ReflectionEx() throws Exception {
            Bean obj = new Bean();
            List<Field> fields = getPrivateFields(obj.getClass());
            int i = 1;
            for (Field field : fields) {
                field.setAccessible(true);
                field.set(obj, i++ + "");
                System.out.println(field.getName() + ": " + field.get(obj));
            }
        }
    
        public static List<Field> getPrivateFields(Class<?> clazz) {
            List<Field> privateFields = new ArrayList<Field>();
    
            Field[] fields = clazz.getDeclaredFields();
    
            for (Field field : fields) {
                if (Modifier.isPrivate(field.getModifiers())) {
                    privateFields.add(field);
                }
            }
            return privateFields;
        }
    
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) throws Exception {
            new ReflectionEx();
        }
    
        public class Bean {
            private String prop1;
            private String prop2;
            private String propn;
            // getter, setter
        }
    }
    Java Tutorial: Getting and Setting Field Values

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •