Skip to content

Commit 77dd512

Browse files
committed
重构:抽取公共方法复用代码
1 parent 6ce36d6 commit 77dd512

1 file changed

Lines changed: 16 additions & 9 deletions

File tree

‎src/cn/aofeng/demo/java/lang/reflect/ClassAnalyze.java‎

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.lang.reflect.AnnotatedElement;
55
import java.lang.reflect.Constructor;
66
import java.lang.reflect.Field;
7+
import java.lang.reflect.Member;
78
import java.lang.reflect.Method;
89
import java.lang.reflect.Modifier;
910

@@ -35,9 +36,7 @@ private static void parseConstructor(Constructor<?> c) {
3536

3637
// 构造方法
3738
StringBuilder buffer = new StringBuilder(32)
38-
.append( Modifier.toString(c.getModifiers()) )
39-
.append(' ')
40-
.append(c.getName())
39+
.append( parseMember(c) )
4140
.append('(');
4241

4342
// 参数
@@ -59,9 +58,7 @@ private static void parseMethod(Method method) {
5958

6059
// 方法
6160
StringBuilder buffer = new StringBuilder(32)
62-
.append( Modifier.toString(method.getModifiers()) )
63-
.append(' ')
64-
.append(method.getName())
61+
.append( parseMember(method) )
6562
.append('(');
6663

6764
// 参数
@@ -82,11 +79,21 @@ private static void parseField(Field field) {
8279
parseAnnotation(field);
8380

8481
// 字段
82+
StringBuilder buffer = parseMember(field);
83+
log(buffer.toString());
84+
}
85+
86+
/**
87+
* 解析方法、字段或构造方法的信息。
88+
* @param member 方法、字段或构造方法
89+
* @return 修饰符和名称组成的字符串。
90+
*/
91+
private static StringBuilder parseMember(Member member) {
8592
StringBuilder buffer = new StringBuilder()
86-
.append(Modifier.toString(field.getModifiers()))
93+
.append(Modifier.toString(member.getModifiers()))
8794
.append(' ')
88-
.append(field.getName());
89-
log(buffer.toString());
95+
.append(member.getName());
96+
return buffer;
9097
}
9198

9299
/**

0 commit comments

Comments
 (0)