字符串的各种转换

基本数据类型转字符串

方法1: 可以利用String类的多种重载静态成员方法valueOf来完成。

public static String valueOf(Basic val)

  可以将任何一个基本数据转化为String返回。其中Basic可以是八种基本数据类型中的任意一种,虽然Java API的String帮助中没有注明对short与byte的转换说明,但这两种类型都可以自动提升为int所以也可以用于转换。换句话说,当一个基本数据要转为字符串时,只须要String.valueOf(val)将数据以val实参形式传递进去返回一个字符串。

 


方法2: 可以利用Java的基本数据封装类提供的静态函数toString来完成,

public static String toString(Basic val)

  每一个基本数据封装类都提供了带一个参数的toString(val)静态方法,只要使用该类名调用toString方法,将要转换的数据做为参数传递进去就可以返回该数的字符串表现形式。Byte.toString(val)将byte数据以val实参形式传递进去返回一个字符串。

 


方法3: 可以利用Java的基本数据封装类对象的无参toString方法来完成,

public String toString()

  如方法2一样,不单提供了静态toString方法,还有非静态的toString方法,非静态的不带任何参数,是将当前调用对象所表现的数据转换成String然后返回。

 

 


字符串转基本数据类型


方法1: 可以利用Java的基本数据封装类提供的静态函数valueOf来完成,

public static Basic valueOf(String s)

  每一个基本数据封装类都提供了带一个参数的valueOf(String)静态方法,只要使用该类名调用valueOf方法,将要转换的字符串做为参数传递进去就可以将该字符串转换为对应的基本数据封装类对象。Basic.valueOf(String)其中的Basic可以是除了Character外的其它七种类型中的任意一种。因为字符串也可以看做是由多个char组成的,所以不能将一个字符串转换为char,但可以使用String的方法chatAt(index)直接获取一个在字符串中任意位置上的单个字符。

 

  当将一个String转换成基本类型时如果内容格式不符或数字超出转换后类型的最大取值范围,会产生NumberFormatException数据格式异常。该异常为RunTime异常。

  浮点型如果值精确过高会使用科学计数法,如果超出范围会返回Infinity与-Infinity,即无穷大与无穷小。

  在将一个String转换为Boolean时,如果String的值并非"true"那么转换后的Boolean皆为false。

  可以利用Java的基本数据封装来完成。Boolean Byte Character Short Integer Long Float Double 。
   


另外:基本数据封装类还提供了一个parse+BasicType的静态方法,将参数中的String转换成基本数据返回而并非返回的是基本数据封装类。

有点无聊的方法,基本和valueOf没区别,还不好记。可以忽略了。

 

  其实最简单的方法就是记住一个valueOf就完事了,当要将字符串转为数据时就用该数据类型名调用静态方法valueOf。当要将数据转为

字符串时就直接String.valueOf。将数据封装类对象转成字符串可以直接toString()。

 


字符串与数组的转换


字符串转数组

toCharArray将此字符串转换为一个字符数组。
getBytes()平台默认字符集转换成byte数组。

 

数组转字符串

可以通过构造方法,将char[]与byte[]转换为数组,其中byte[]会以平台默认字符集编码转换成文字后存入字符串。如:System.out.println(new String(new byte[]{49,97}));打印出1a。

 

另外:Arrays数组静态工具类提供了一组重载toString方法,可以将参数中指定的数组转换成一个字符串,但需要注意的是转换后的字符串中头尾有中括号元素,而且每个原数组元素中间有逗号。再者用这种办法转换byte[]是直接原样转换的,并不经过字符集编号。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值