ReflectUtil.getFieldsValue增加Filter重载

This commit is contained in:
Looly
2023-10-07 08:52:04 +08:00
parent 3f482e4eda
commit bdf71b5e71
2 changed files with 44 additions and 6 deletions

View File

@@ -12,6 +12,7 @@
package org.dromara.hutool.core.reflect;
import lombok.Data;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -51,4 +52,33 @@ public class FieldUtilTest {
final Field subField = FieldUtil.getField(ReflectUtilTest.TestSubClass.class, "subField");
Assertions.assertNotNull(subField);
}
@Test
void getFieldsValueTest() {
final TestBean testBean = new TestBean();
testBean.setA("A");
testBean.setB(1);
final Object[] fieldsValue = FieldUtil.getFieldsValue(testBean);
Assertions.assertEquals(2, fieldsValue.length);
Assertions.assertEquals("A", fieldsValue[0]);
Assertions.assertEquals(1, fieldsValue[1]);
}
@Test
void getFieldsValueTest2() {
final TestBean testBean = new TestBean();
testBean.setA("A");
testBean.setB(1);
final Object[] fieldsValue = FieldUtil.getFieldsValue(testBean, (field -> field.getName().equals("a")));
Assertions.assertEquals(1, fieldsValue.length);
Assertions.assertEquals("A", fieldsValue[0]);
}
@Data
static class TestBean{
private String a;
private int b;
}
}