📄 javatypes.java
字号:
/**
* 得到一个数据类型的最大值.(如果是字段串,返回最大长度.这里默认为:16)
* <p><code>getMax</code></p>
* @param javaType
* @return
* @author LiuXiaojie 2007-6-11
*/
public double getMax(Class javaType, int size, int decimalDigits){
double max = 16;
if(javaType != null){
if(javaType.equals(STRING)){
}else if(javaType.equals(BYTE)){
max = Byte.MAX_VALUE;
}else if(javaType.equals(DOUBLE)){
if(size == 0 && decimalDigits == 0){
max = Double.MAX_VALUE;
}else{
int m = size - decimalDigits + 1;
max = Math.pow(10, m) - 1;
}
}else if(javaType.equals(FLOAT)){
max = Float.MAX_VALUE;
}else if(javaType.equals(INT)){
max = Integer.MAX_VALUE;
}else if(javaType.equals(LONG)){
max = Long.MAX_VALUE;
}else if(javaType.equals(SHORT)){
max = Short.MAX_VALUE;
}else if(javaType.equals(DATE)){
max = java.sql.Date.valueOf("9999-12-31").getTime();
}else if(javaType.equals(BOOLEAN)){
max = 1;
}else if(javaType.equals(OBJECT)){
max = 0;
}else if(IType.class.isAssignableFrom(javaType)) {
IType type = this.getAddedType(javaType);
max = type.getMax();
}else{
logger.error("JavaTypes, unknow type:" + javaType.getName());
}
}
return max;
}
/**
* 将一个字符串按类型返回.
* <p><code>getValue</code></p>
* @param value
* @param javaType
* @return
* @author LiuXiaojie 2007-6-16
* @throws BaseException
*/
public Object valueOf(Class javaType, String value) throws BaseException{
Object retValue = null;
if(javaType != null){
if(javaType.equals(BOOLEAN)){
retValue = Boolean.valueOf(value);
}else if(javaType.equals(BYTE)){
retValue = Byte.valueOf(value);
}else if(javaType.equals(DOUBLE)){
retValue = Double.valueOf(value);
}else if(javaType.equals(FLOAT)){
retValue = Float.valueOf(value);
}else if(javaType.equals(INT)){
retValue = Integer.valueOf(value);
}else if(javaType.equals(LONG)){
retValue = Long.valueOf(value);
}else if(javaType.equals(SHORT)){
retValue = Short.valueOf(value);
}else if(javaType.equals(STRING)){
retValue = value;
}else if(javaType.equals(DATE)){
retValue = Global.getInstance().parseDateTime(value);
}else if(javaType.equals(OBJECT)){
retValue = value;
}else if(IType.class.isAssignableFrom(javaType)){
IType type = this.getAddedType(javaType);
retValue = type.valueOf(value);
}else{
logger.error("JavaTypes, unknow type:" + javaType.getName());
}
}
return retValue;
}
public double getDbValue(Class javaType, String value) throws BaseException{
double retValue = 0;
if(javaType != null){
if(javaType.equals(DOUBLE) || javaType.equals(BYTE)
||javaType.equals(FLOAT) ||javaType.equals(INT) || javaType.equals(LONG)
|| javaType.equals(SHORT)|| javaType.equals(STRING)
|| javaType.equals(BOOLEAN)){
retValue = Double.valueOf(value).doubleValue();
}else if(javaType.equals(DATE)){
retValue = Global.getInstance().parseDateTime(value).getTime();
}else if(javaType.equals(OBJECT)){
throw new BaseException("");
}else if(IType.class.isAssignableFrom(javaType)){
IType type = getAddedType(javaType);
if(type != null){
retValue = type.stringTodb(value);
}
}else{
logger.error("JavaTypes, unknow type:" + javaType.getName());
}
}
return retValue;
}
public String getStringValue(Class javaType, double value){
String retValue = null;
if(javaType.equals(DOUBLE)){
retValue = value + "";
}else if(javaType.equals(BYTE)){
retValue = Double.valueOf(value).byteValue() + "";
}else if(javaType.equals(FLOAT)){
retValue = Double.valueOf(value).floatValue() + "";
}else if(javaType.equals(INT)){
retValue = Double.valueOf(value).intValue() + "";
}else if(javaType.equals(LONG)){
retValue = Double.valueOf(value).longValue() + "";
}else if(javaType.equals(SHORT)){
retValue = Double.valueOf(value).shortValue() + "";
}else if(javaType.equals(STRING)){
retValue = Double.valueOf(value).longValue() + "";
}else if(javaType.equals(BOOLEAN)){
retValue = Double.valueOf(value).byteValue() + "";
}else if(javaType.equals(DATE)){
retValue = Global.getInstance().dataFormater.format(new Date((long) value));
}else if(javaType.equals(OBJECT)){
}else if(IType.class.isAssignableFrom(javaType)){
IType type = getAddedType(javaType);
if(type != null){
retValue = type.dbToString(value);
}else{
logger.error("type[" + javaType + "] not found!");
}
} else{
logger.error("JavaTypes, unknow type:" + javaType.getName());
}
return retValue;
}
public char randomChar(){
int random = (int) (Math.random() * (90 -65) + 65);
return (char)random;
}
public Object random(Class javaType, double min, double max, int decimalDigits){
Object randomObj = null;
if(javaType != null){
if(javaType.equals(BYTE)){
randomObj = Byte.valueOf((byte) (min + Math.random() * (max - min)));
}else if(javaType.equals(DOUBLE)){
randomObj = Double.valueOf((double) (min + Math.random() * (max - min)));
StringBuilder strFormat = new StringBuilder(".");
for(int i=0;i < decimalDigits; i++){
strFormat.append("0");
}
NumberFormat format = new java.text.DecimalFormat(strFormat.toString());
format.setMaximumFractionDigits(decimalDigits);
String strDB = format.format(randomObj);
randomObj = Double.valueOf(strDB);
}else if(javaType.equals(FLOAT)){
randomObj = Float.valueOf((float) (min + Math.random() * (max - min)));
}else if(javaType.equals(INT)){
randomObj = Integer.valueOf((int) (min + Math.random() * (max - min)));
}else if(javaType.equals(LONG)){
randomObj = Long.valueOf((long) (min + Math.random() * (max - min)));
}else if(javaType.equals(SHORT)){
randomObj = Short.valueOf((short) (min + Math.random() * (max - min)));
}else if(javaType.equals(STRING)){
int size = (int) (min + Math.random() * (max - min));
if(size == 0){
size = (int)max;
}
randomObj = RandomStringUtils.randomAlphabetic(size);
}else if(javaType.equals(DATE)){
randomObj = new Date(Long.valueOf((long) (min + Math.random() * (max - min))).longValue());
}else if(javaType.equals(BOOLEAN)){
randomObj = Boolean.valueOf(Math.random() < 0.5);
}else if(javaType.equals(OBJECT)){
}else if(IType.class.isAssignableFrom(javaType)){
IType iType = getAddedType(javaType);
randomObj = iType.randomValue(min, max);
}else{
logger.error("JavaTypes, unknow type:" + javaType.getName());
}
}
return randomObj;
}
public String getTypeName(Class javaType){
if(IType.class.isAssignableFrom(javaType)){
IType iType = getAddedType(javaType);
return iType.getName();
}else{
return javaType.getSimpleName();
}
}
// public List<String> getAllTypeNames(){
// return RadixConverter.toList(getAllTypes().keySet());
// }
//
// public Class getClass(String className){
// return (Class) getAllTypes().get(className);
// }
public static Date now(){
return new Date(System.currentTimeMillis());
}
public static void main(String[] args) {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -