Java中数据类型转换大全(个人总结)

一、字符串转换为其他类型

1、将字符串转化为int型

  (1)方法一

int i = Integer.parseInt(String str);

  (2)方法二

int i = Integer.valueOf(String str).intValue();

  注:Integer.parseInt和 Integer.valueOf 不同,前者生成的是整型,而后者是一个对象,所以要通过intValue()来获得对象的值;

  字串转成 Double, Float, Long 的方法大同小异.

2、将字符串转化为Double型

  (1)方法一

Double i=Double.parseDouble(String str);

  (2)方法二

Double i=Double.valueOf(String str).doubleValue();

3、将字符串转化为Float型

  (1)方法一

Float i=Float.parseFloat(String str);

  (2)方法二

Float i=Float.valueOf(String str).floatValue();

4、将字符串转化为Long 型

  (1)方法一

Long i=Long .parseLong(String str);

  (2)方法二

Long i=Long.valueOf(String str).longValue();

二、其他类型转换为字符串

1、将int类型转换为字符串

  (1)方法一

String str = String.valueOf(int i);

  (2)方法二

String str = Integer.toString(int i);

  (3)方法三

String str = “” + i ;

  注: Double, Float, Long 的方法大同小异.

2、将Double类型转换为字符串

  (1)方法一

String str = String.valueOf(int i);

  (2)方法二

String str = Double.toString(int i);

  (3)方法三

String str = “” + i ;

3、将Float类型转换为字符串

  (1)方法一

String str = String.valueOf(int i);

  (2)方法二

String str = Float.toString(int i);

  (3)方法三

String str = “” + i ;

4、将Long 类型转换为字符串

  (1)方法一

String str = String.valueOf(int i);

  (2)方法二

String str = Long .toString(int i);

  (3)方法三

String str = “” + i ;

三、Long、String、Date类型之间的转化

1、java.util.Date类型转换成long类型

Date date=new Date();
System.out.println(date.getTime());

  解析:其中getTime()返回为long类型,长度为13,表示毫秒;如果想获得秒数,只需要除以1000即可。

long mseconds=date.getTime()/1000;

2、long类型转换成java.util.Date类型

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date date = new Date(mseconds * 1000);
String str = sdf.format(date);
System.out.println(str);

  前面的mseconds是表示的是秒数,所以要先乘1000得到毫秒数,再转为java.util.Date类型,这样就完成了long到Date的转化;

  为了格式化输出Date,可以调用SimpleDateFormat的format方法格式化输出Date

3、形如“2015-08-31 21:08:06”等格式化string类型转换成java.util.Date类型

String str="2015-08-31 21:08:06";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = (Date) sdf.parse(str);
System.out.println(date.getTime());

  其输出结果为

1441026486000

  有时候需要对CST时间进行转化,如:Wed Sep 16 11:26:23 CST 2009,此时同样可以用SimpleDateFormat的parse解决

String str="Wed Sep 16 11:26:23 CST 2009";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
Date date = (Date) sdf.parse(str);

四、float类型、double类型、int类型的转换

 1、float类型转换为double类型

  (1)方法一

/**
 * 借助Float型的doubleValue()方法
 */
float f1=100.00f;
Float F1=new Float(f1);//F1.doubleValue()为Float类的返回double值型的方法
double d1=F1.doubleValue();

  (2)方法二

/**
* 先将float型转换为String类型,再转换成BigDecimal,借助其doubleValue()方法
*/
float f = 127.1f;
BigDecimal b = new BigDecimal(String.valueOf(f));
double d = b.doubleValue(); 

2、double类型转换为float类型

double d = 3.14;
float f = (float)d;  

3、double类型转换为int类型

double d1=100.00;
Double D1=new Double(d1);
int i1=D1.intValue();

4、int类型转换为double类型

int i1=200;
double d1=i1;

五、其他应用小实例

 1、Long类型转换为int类型

  (1)方法一:强制转换

long L = 300000;
int i=(int)L;

  (2)方法二:调用intValue()方法

long L = 300000;
int i= new Long(L).intValue(); 

  (3)方法三:先把long转换成字符串String,然后在转行成Integer

long L = 300000;
int i = Integer.parseInt(String.valueOf(L));

 2、Long类型转换为integer类型

Integer i=new Long(Long l).intValue();

六、总结

1、字符串与其他类型间的转换

 (1)其他类型向字符串的切换

  a、调用类的串转换方法:X.toString();

  b.自动转换:X+“”;

  c.使用String的方法:String.valueOf(X);

 (2)字符串作为值,向其它类型的转换

  a.先转换成相应的封装器实例,再调用对应的方法转换成其它类型

例如,字符中“32.1”转换double型的值的格式为:
new Float(“32.1”).doubleValue()。

  b.静态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 );

  c.Character的getNumericValue(char ch)方法

  返回指定的 Unicode 字符表示的 int 值。

 (3)其它实用数据类型转换

2、数据类型

  基本类型有以下四种:

  (1)int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、

  (2)float长度数据类型有:单精度(32bits float)、双精度(64bits double)

  (3)boolean类型变量的取值有:ture、false

  (3)char数据类型有:unicode字符,16位

  (4)对应的类类型:Integer、Float、Boolean、Character、Double、Short、Byte、Long

3、转换原则

  (1)从低精度向高精度转换

  byte 、short、int、long、float、double、char

  注:两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换

  (2)基本类型向类类型转换

  a.正向转换:通过类包装器来new出一个新的类类型的变量

  Integer a= new Integer(2);

  b.反向转换:通过类包装器来转换

  int b=a.intValue();

  (3)类类型向字符串转换

  a.正向转换:因为每个类都是object类的子类,而所有的object类都有一个toString()函数,所以通过toString()函数来转换即可

  b.反向转换:通过类包装器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数值。

  (4)基本类型向字符串的转换

  a.正向转换:

  如:int a=12;

  String b;b=a+””;

  b.反向转换:

  通过类包装器

  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数值。

原文地址:https://www.cnblogs.com/javahr/p/8320566.html

时间: 2024-11-29 07:15:12

Java中数据类型转换大全(个人总结)的相关文章

Java中数据类型转换

1.Java的数据类型分为三大类 布尔型,字符型和数值型 其中数值型又分为整型和浮点型 2.Java的变量类型 布尔型 boolean 字符型 char 整型    byte,short,int,long 浮点型 float,double 3.数据类型转换 Java中数据类型转换分为三种,简单数据类型转换,字符串与其他类型转换,其他实用数据类型转换 (1)简单数据类型转换 在Java中,整型,实型,字符型被视为简单数据类型. 这些类型级别从低到高:(byte,short,char)-> int

Java中数据类型转换问题

boolean类型不可以转换为替他的数据类型. Java中byte(8位).short(16位).char三种类型的优先级是相同的,相同优先级之间是不能进行自动转换的(如果相互转换的话,必须强制类型转换),只能将低类型自动转换为高类型,例如,可以将byte自动转换为int类型.(char 在java中是2个字节.java采用unicode,2个字节(16位)来表示一个字符. 再将char类型的数据赋给高优先级类型时,这时会自动类型转换,并且将该char的unicode编码赋给高优先级类型的变量)

Java基础知识强化22:Java中数据类型转换

数据类型转换: (1). 自动转换 低级变量可以直接转换为高级变量,这叫自动类型转换.比如: byte b: int b:  long b:  float b:   double  b: 上面的语句可以在Java中直接通过. (2).如果低级类型为char型,向高级类型(整型)转换时候,会转换为对应的ASCII码值,例如: char c ='c':  int i = c:  System.out.println("output:"+i): 输出: output:99 (3).对于byt

Java基础知识强化23:Java中数据类型转换(面试题)

1. 以下代码输出结果是( D ).                     public  class  Test   {                                      public  static  void  main(String[]  args) {                                                        int  a=5;                                        

java常用数据类型转换

在Java开发过程中经常会涉及到数据类型的转换问题,比如数字型转字符型,字符型转日期型,字符串转数组等等,以及其他类型的强制转换等.经常出现,所以有必要总结一下. 1.如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i = Integer.valueOf(my_str).intValue()

java中强制类型转换

在Java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换. 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制转换.因为子类拥有比父类更多的属性.更强的功能,所以父类转换为子类需要强制.那么,是不是只要是父类转换为子类就会成功呢?其实不然,他们之间的强制类型转换是有条件的. 当我们用一个类型的构造器构造出一个对象时,这个对象的类型就已经确定的,也就说它的本质是不会再发生变化了.在Java中我们可以通过

c#中的里氏转换和Java中强制类型转换在多态中的应用

在c#中: 注意: 子类并没有继承父类的构造函数,而是会默认调用父类那个无参数的构造函数. 如果一个子类继承了一个父类,那么这个子类除了可以使用自己的成员外,还可以使用从父类那里继承过来的成员.但是父类永远都只能使用自己的成员,而不能使用子类的成员. 子类之间也不能互相使用对方的成员. 里氏转换的概念: 1).子类可以赋值给父类 2).如果父类中装的是子类对象,那么可以讲这个父类强转为子类对象. namespace 里氏转换_接口练习 { class Program { static void

JS中数据类型转换

JS中数据类型转换汇总 JS中的数据类型分为 [基本数据类型] 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined [引用数据类型] 对象 object - 普通对象 - 数组对象 (Array) - 正则对象 (RegExp) - 日期对象 (Date) - 数学函数 (Math) ... 函数 function 真实项目中,根据需求,我们往往需要把数据类型之间进行转换 把其它数据类型转换为number类型 1.发生的情况 isNaN检测的

解密Java中的类型转换问题

众所周知Java中的数据类型是强数据类型,基本数据类型之间的转换尤其固定的规则,当数据宽度比较窄的数据类型(如int)转换成数据类型比较宽的数据类型时(如double),则窄的数据类型会加宽,可以完成自动类型转换,这称为隐式转换. 如:以下代码没有任何问题,结果也是正确的,成绩不会发生变化,所不同的是成绩的精度提高了. intintScore = 96; doubledoubleScore = intScore; 那么如果试图把宽的数据类型(如double)转换成窄的数据类型(如float)时,