diff --git a/convert.html b/convert.html
index 2cac4eddf..da2e66471 100644
--- a/convert.html
+++ b/convert.html
@@ -197,8 +197,8 @@
-
Convert 支持非空构造函数。
-1. public 的非空构造函数加上 @java.beans.ConstructorProperties 注解:
+Convert 支持带参数构造函数。
+1. public 带参数的构造函数加上 @java.beans.ConstructorProperties 注解:
public class UserRecord {
private int userid;
@@ -226,7 +226,7 @@
return password;
}
}2. 非public 的非空构造函数类自定义Creator:
+2. 自定义Creator:
public class UserRecord {
private int userid;
@@ -254,7 +254,7 @@
}
/**
- * 无法提供public的构造函数可以自定义Creator方法。
+ * 自定义Creator方法。
* 1) 方法名可以随意。
* 2) 方法必须是static。
* 3)方法的参数必须为空。
@@ -265,7 +265,7 @@
private static Creator<UserRecord> creator() {
return new Creator<UserRecord>() {
@Override
- @Creator.ConstructorParameters({"userid", "username", "password"}) //非空构造函数必须有ConstructorParameters注解
+ @Creator.ConstructorParameters({"userid", "username", "password"}) //带参数的构造函数必须有ConstructorParameters注解
public UserRecord create(Object... params) {
return new UserRecord((params[0] == null ? 0 : (Integer) params[0]), (String) params[1], (String) params[2]);
}
@@ -273,6 +273,7 @@
}
}
通常JavaBean类默认有个public空参数的构造函数,因此大部分情况下不要自定义Creator,其实只要不是private的空参数构造函数Convert都能自动支持(其他的框架都仅支持public的构造函数),只有仅含private的构造函数才需要自定义Creator。带参数的构造函数就需要标记@java.beans.ConstructorProperties,当然若使用Java 8的新特性,带上 -parameters 编译项进行编译的类连@ConstructorProperties都可以省掉,Convert会自动匹配参数名动态生成Creator。
Convert 支持自定义Decode、Encode。
@@ -389,6 +390,7 @@ } +由上可以看出,Convert的自定义配置完全符合面向对象思想,提倡在JavaBean内部去自定义非常规的构造函数或Decode、Encode方法,通过Factory显式配置的方式通常用于非自己定义的数据类(如 java.io.File)。