java基础数据类型:
java数据类型转换主要分为三类:
1、简单数据类型之间的转换
简单数据类型之间的转换又分为自动类型转换(低级到高级)、强制类型转换(高级到低级以及同级之间)、包装类过度类型转换;
注意事项:
boolean类型不能转换成其它数据类型;
低级别自动转换为高级别 :byte,short,char->int->long->float->double;
同级之间不会自动转换,可以强制类型转换;
强制类型转换室友高级别像低级别之间转化,会降低经度准确信;
包装类:Boolean、Character、Byte、Short、Integer、Long、Float、Double;
2、字符串与其它数据类型的转换
3、其它字符串与Date之间转换
package com.myuiapp.utils;
import android.text.TextUtils;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
* TODO 基础类型转换类
*
* @author cb2016
* @version V 1.0
* @date 2016/10/25 16:19.
*/
public class TypeConvert {
/**
* yyyy-MM-dd HH:mm:ss 格式
*/
public static final String DEFAULT_DATE_TIME_FORMAT_PATTERN = "yyyy-MM-dd HH:mm:ss";
/**
* yyyy-MM-dd HH:mm 格式
*/
public static final String DEFAULT_DATE_TIME_HHmm_FORMAT_PATTERN = "yyyy-MM-dd HH:mm";
/**
* yyyy-MM-dd HH 格式
*/
public static final String DEFAULT_DATE_TIME_HH_FORMAT_PATTERN = "yyyy-MM-dd HH";
/**
* yyyy-MM-dd 格式
*/
public static final String DEFAULT_DATE_FORMAT_PATTERN = "yyyy-MM-dd";
/**
* HH:mm:ss 格式
*/
public static final String DEFAULT_TIME_FORMAT_PATTERN = "HH:mm:ss";
/**
* HH:mm 格式
*/
public static final String DEFAULT_TIME_HHmm_FORMAT_PATTERN = "HH:mm";
private java.util.Calendar c; //日历类
/**
* string to boolean
*
* @return
*/
public static boolean stingToBoolean(String value, boolean defaultValue) {
return TextUtils.isEmpty(value) ? defaultValue : Boolean.valueOf(value);
}
/**
* string to int
*/
public static int stringToInt(String value, int defaultValue) {
return TextUtils.isEmpty(value) ? defaultValue : Integer.parseInt(value);
}
/**
* string to string
*/
public static String getString(String value, String defaultValue) {
return TextUtils.isEmpty(value) ? defaultValue : value;
}
/**
* string to Ingeger
*/
public static Integer stringToInteger(String value, Integer defaultValue) {
return TextUtils.isEmpty(value) ? defaultValue : Integer.valueOf(value);
}
/**
* string to long
*/
public static long stringToLong(String value, long defaultValue) {
return TextUtils.isEmpty(value) ? defaultValue : Long.parseLong(value);
}
/**
* string to double
*/
public static double stringToDouble(String value, double defaultValue) {
return TextUtils.isEmpty(value) ? defaultValue : Double.parseDouble(value);
}
/**
* string to float
*/
public static float stringToFloat(String value, float defaultValue) {
return TextUtils.isEmpty(value) ? defaultValue : Float.parseFloat(value);
}
/**
* 使用日期转换pattern <p>pattern的用法参见java.text.SimpleDateFormat</p>
*
* @param pattern 日期解析规则
* @return 按规则转换后的日期时间字符串
*/
public String toDateTimeString(String pattern) {
SimpleDateFormat fmt = (SimpleDateFormat) DateFormat.getDateInstance();
fmt.applyPattern(pattern);
return fmt.format(c.getTime());
}
// formatType格式为yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒
// data Date类型的时间
public static String dateToString(Date data, String formatType) {
return new SimpleDateFormat(formatType).format(data);
}
// strTime要转换的string类型的时间,formatType要转换的格式yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日
// HH时mm分ss秒,
// strTime的时间格式必须要与formatType的时间格式相同
public static Date stringToDate(String strTime, String formatType)
throws ParseException {
SimpleDateFormat formatter = new SimpleDateFormat(formatType);
Date date = null;
date = formatter.parse(strTime);
return date;
}
/**
* 转换为 DEFAULT_DATE_FORMAT_PATTERN (yyyy-MM-dd) 格式字符串
*
* @return yyyy-MM-dd格式字符串
*/
public String toDateString() {
return toDateTimeString(TypeConvert.DEFAULT_DATE_FORMAT_PATTERN);
}
/**
* 转换为 DEFAULT_TIME_FORMAT_PATTERN (HH:mm:ss) 格式字符串
*
* @return HH:mm:ss 格式字符串
*/
public String toTimeString() {
return toDateTimeString(TypeConvert.DEFAULT_TIME_FORMAT_PATTERN);
}
/**
* 转换为 DEFAULT_DATE_TIME_FORMAT_PATTERN (yyyy-MM-dd HH:mm:ss) 格式字符串
*
* @return yyyy-MM-dd HH:mm:ss 格式字符串
*/
public String toDateTimeString() {
return toDateTimeString(TypeConvert.DEFAULT_DATE_TIME_FORMAT_PATTERN);
}
/**
* 将字符按照指定分隔符生成字符数组
*
* @param propValue
* @param delim
* @return
*/
public static String[] toStringArray(String propValue, String delim) {
if (propValue != null) {
return propValue.split(delim);
} else {
return null;
}
}
/**
* 将list转化为数组
*
* @param list
* @return
*/
public static String[] toArray(List<String> list) {
if (list == null) return null;
String[] result = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
result[i] = list.get(i);
}
return result;
}
}