Java中的字符互换的功能是很强大的,而且在JavaWeb应用中经常都要使用到,主要目的是将相应字符转换后存储在数据库中字段类型符合的字段值。听上去感觉很难理解,请看下面的实例:
一、SQL字段
CREATE TABLE `articles` (
`title` varchar(100) DEFAULT NULL,
`content` mediumtext,
`readcount` int(11) DEFAULT '0',
`recount` int(11) DEFAULT '0'
) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=gb2312;
比如上面的SQL语句是创建一个数据库表,表中分别有title、content、readcount、recount几个字段,title字段为varchar类型,content字段为mediumtext类型,readcount和recount都是int类型的数据。
如果我在java代码中使用String readcount=”200″;那么存储到数据库的时候就会出错了。原因很简单,就是数据类型不一致所导致的,因此我们才需要进行字符转换。
二、字符转换
1、String转Byte,Short,Integer,Float,Double,Long,使用XXX.parseXXX()的方法转换
String sNum="1234";//String类型
int iNum = Integer.parseInt(sNum);//String转int
short iNum = Short.parseShort(sNum);//String转Short
byte bNum = Byte.parseByte(sNum);//String转bytes
long lNum = Long.parseLong(sNum);//String转long
float lNum = Float.parseFloat(sNum);//String转float
double dNum = Double.parseDouble(sNum);//String转double
2、Byte,Short,Integer,Float,Double,Long转String,直接使用XXX.toString()方法和String.valueOf()方法
建议使用XXX.toString()的官方方法,String.valueOf()方法可以针对float使用
//将byte转为String
Byte.toString(byte);
String.valueOf(byte);//未尝试过
//Int转为String
nteger.toString(int);//将Int转为String
String s = String.valueOf(int);
String s = "" + int;
//将Short转为String
Short.toString(short);
String.valueOf(short);
//将Float转为String
Float.toString(float);
String.valueOf(float);
//将Double转为String
Double.toString(double);
String.valueOf(double);
//将Long转为String
Long.toString(long);
String.valueOf(double);
三、官方的Java API文档中提供的方法
string->byte
Byte static byte parseByte(String s)
byte->string
Byte static String toString(byte b)
char->string
Character static String to String (char c)
string->Short
Short static Short parseShort(String s)
Short->String
Short static String toString(Short s)
String->Integer
Integer static int parseInt(String s)
Integer->String
Integer static String tostring(int i)
String->Long
Long static long parseLong(String s)
Long->String
Long static String toString(Long i)
String->Float
Float static float parseFloat(String s)
Float->String
Float static String toString(float f)
String->Double
Double static double parseDouble(String s)
Double->String
Double static String toString(Double d)
四、数据类型转换的java类(例子)
package com;
import java.sql.Date;
public class TypeChange {
public TypeChange() {
}
//String转int
public static int stringToInt(String intstr)
{
Integer integer;
integer = Integer.valueOf(intstr);
return integer.intValue();
}
//Int转String
public static String intToString(int value)
{
Integer integer = new Integer(value);
return integer.toString();
}
//String转float
public static float stringToFloat(String floatstr)
{
Float floatee;
floatee = Float.valueOf(floatstr);
return floatee.floatValue();
}
//float转String
public static String floatToString(float value)
{
Float floatee = new Float(value);
return floatee.toString();
}
//string转sqlDate
public static java.sql.Date stringToDate(String dateStr)
{
return java.sql.Date.valueOf(dateStr);
}
//sqlDate转string
public static String dateToString(java.sql.Date datee)
{
return datee.toString();
}
public static void main(String[] args)
{
java.sql.Date day ;
day = TypeChange.stringToDate("2003-11-3");
String strday = TypeChange.dateToString(day);
System.out.println(strday);
}
}