JAVA數據類型轉換大全java
1)將字符串轉化爲整型;sql
int i = Integer.parseInt(String str);ide
int i = Integer.valueOf(String str).intValue();函數
注:Integer.parseInt和 Integer.valueOf 不一樣,前者生成的是整型,然後者是一個對象,因此要經過intValue()來得到對象的值;code
字串轉成 Double, Float, Long 的方法大同小異.orm
2) 整型轉化爲字符串:對象
String str = String.valueOf(int i);unicode
String str = Integer.toString(int i);字符串
String str = 「」 + i ;get
注: Double, Float, Long 的方法大同小異.
3) Long轉化爲date:
SimpleDateFormat sf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
//tieml,timef是long,前面轉化過來的
Date date = new Date(timel - timef);
String time = sf.parse(date);
一、float型轉換爲double型:
float f1=100.00f;
Float F1=new Float(f1);
//F1.doubleValue()爲Float類的返回double值型的方法
double d1=F1.doubleValue();
二、double型轉換爲int型:
double d1=100.00;
Double D1=new Double(d1);
int i1=D1.intValue();
三、int型轉換爲double型:
int i1=200;
double d1=i1;
(2). 字符串與其它數據類型的轉換
四、字符串與其它類型間的轉換:
⑴其它類型向字符串的轉換
①調用類的串轉換方法:X.toString();
②自動轉換:X+「」;
③使用String的方法:String.valueOf(X);
⑵字符串做爲值,向其它類型的轉換
①先轉換成相應的封裝器實例,再調用對應的方法轉換成其它類型
例如,字符中「32.1」轉換double型的值的格式爲:new Float(「32.1」).doubleValue()。
也能夠用:Double.valueOf(「32.1」).doubleValue()
②靜態parseXXX方法
String s = "1";
byte b = Byte.parseByte( s );
short t = Short.parseShort( s );
int i = Integer.parseInt( s );
long l = Long.parseLong( s );
Float f = Float.parseFloat( s );
Double d = Double.parseDouble( s );
③Character的getNumericValue(char ch)方法
返回指定的 Unicode 字符表示的 int 值。
(3). 其它實用數據類型轉換
5.Date類與其它數據類型的相互轉換
整型和Date類之間並不存在直接的對應關係,只是你可使用int型爲分別表示年、月、日、時、分、秒,這樣就在二者之間創建了一個對應關係,在做這種轉換時,你可使用Date類構造函數的三種形式:
①Date(int year, int month, int date):以int型表示年、月、日
②Date(int year, int month, int date, int hrs, int min):以int型表示年、月、日、時、分
③Date(int year, int month, int date, int hrs, int min, int sec):以int型表示年、月、日、時、
分、秒
在長整型和Date類之間有一個頗有趣的對應關係,就是將一個時間表示爲距離格林尼治標準時間1970年1月1日0時0分0秒的毫秒數。對於這種對應關係,Date類也有其相應的構造函數:Date(long date)。
獲取Date類中的年、月、日、時、分、秒以及
星期你可使用Date類的getYear()、getMonth()、getDate()、getHours()、getMinutes()、getSeconds()、getDay()方法,你也能夠將其理解爲將Date類轉換成int。
而Date類的getTime()方法能夠獲得咱們前面所說的一個時間對應的長整型數,與包裝類同樣,Date類也有一個toString()方法能夠將其轉換爲String類。
有時咱們但願獲得Date的特定格式,例如20020324,咱們可使用如下方法,首先在文件開始引入,
import java.text.SimpleDateFormat;
import java.util.*;
java.util.Date date = new java.util.Date();
//若是但願獲得YYYYMMDD的格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMDD");
String dateFormat=sdf.format(date);
//若是但願分開獲得年,月,日
SimpleDateFormat sy=newSimpleDateFormat("yyyy");
SimpleDateFormat sm=new SimpleDateFormat("MM");
SimpleDateFormat sd=new SimpleDateFormat("dd");
String syear=sy.format(date);
String smon=sm.format(date);
String sday=sd.format(date);
//js中將Data轉換成String類型
對Date的擴展,將 Date轉化爲指定格式的String
月(M)、日(d)、12小時(h)、24小時(H)、分(m)、秒(s)、周(E)、季度(q) 能夠用 1-2個佔位符
*eg:
(new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==>2006-07-0208:09:04.423
(new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==>2009-03-10 二20:09:04
(new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==>2009-03-10 週二08:09:04
(new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss")==> 2009-03-10 星期二08:09:04
6.字符型轉時間型:(2005-10-1)
reportdate_str = 「2005-10-01」;
reportdate_str = reportdate_str + 「 00:00:00.0」
reportdate = java.sql.Timestamp.valueOf(reportdate_str);
7.時間型轉字符型:
V_DATE = reportdate.toString();
8.將long型轉化爲String型
long APP_UNIT = (long)userview.getDEPT_ID();
String S_APP_UNIT = String.valeOf(APP_UNIT);
基本類型s均可以經過String.valueof(s)來轉化爲String型。
JAVA中經常使用數據類型轉換函數
雖然都能在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)
++++++++++++++++++++++++++++++++++++++++++++++++++++++
數據類型
基本類型有如下四種:
int長度數據類型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、
float長度數據類型有:單精度(32bits float)、雙精度(64bits double)
boolean類型變量的取值有:ture、false
char數據類型有:unicode字符,16位
對應的類類型:Integer、Float、Boolean、Character、Double、Short、Byte、Long
轉換原則
從低精度向高精度轉換
byte 、short、int、long、float、double、char
注:兩個char型運算時,自動轉換爲int型;當char與別的類型運算時,也會先自動轉換爲int型的,再作其它類型的自動轉換
基本類型向類類型轉換
正向轉換:經過類包裝器來new出一個新的類類型的變量
Integer a= new Integer(2);
反向轉換:經過類包裝器來轉換
int b=a.intValue();
類類型向字符串轉換
正向轉換:由於每一個類都是object類的子類,而全部的object類都有一個toString()函數,因此經過toString()函數來轉換便可
反向轉換:經過類包裝器new出一個新的類類型的變量
eg1: int i=Integer.valueOf(「123」).intValue()
說明:上例是將一個字符串轉化成一個Integer對象,而後再調用這個對象的intValue()方法返回其對應的int數值。
eg2: float f=Float.valueOf(「123」).floatValue()
說明:上例是將一個字符串轉化成一個Float對象,而後再調用這個對象的floatValue()方法返回其對應的float數值。
eg3: boolean b=Boolean.valueOf(「123」).booleanValue()
說明:上例是將一個字符串轉化成一個Boolean對象,而後再調用這個對象的booleanValue()方法返回其對應的boolean數值。
eg4:double d=Double.valueOf(「123」).doubleValue()
說明:上例是將一個字符串轉化成一個Double對象,而後再調用這個對象的doubleValue()方法返回其對應的double數值。
eg5: long l=Long.valueOf(「123」).longValue()
說明:上例是將一個字符串轉化成一個Long對象,而後再調用這個對象的longValue()方法返回其對應的long數值。
eg6: char=Character.valueOf(「123」).charValue()
說明:上例是將一個字符串轉化成一個Character對象,而後再調用這個對象的charValue()方法返回其對應的char數值。
基本類型向字符串的轉換
正向轉換:
如:int a=12;
String b;b=a+」」;
反向轉換:
經過類包裝器
eg1:int i=Integer.parseInt(「123」)
說明:此方法只能適用於字符串轉化成整型變量
eg2: float f=Float.valueOf(「123」).floatValue()
說明:上例是將一個字符串轉化成一個Float對象,而後再調用這個對象的floatValue()方法返回其對應的float數值。
eg3: boolean b=Boolean.valueOf(「123」).booleanValue()
說明:上例是將一個字符串轉化成一個Boolean對象,而後再調用這個對象的booleanValue()方法返回其對應
的boolean數值。
eg4:double d=Double.valueOf(「123」).doubleValue()
說明:上例是將一個字符串轉化成一個Double對象,而後再調用這個對象的doubleValue()方法返回其對應的double數值。
eg5: long l=Long.valueOf(「123」).longValue()
說明:上例是將一個字符串轉化成一個Long對象,而後再調用這個對象的longValue()方法返回其對應的long數值。
eg6: char=Character.valueOf(「123」).charValue()
說明:上例是將一個字符串轉化成一個Character對象,而後再調用這個對象的charValue()方法返回其對應的char數值。