Java中String转化为其他类型方法汇总

Java的基本数据类型有 float char byte short int long double boolean八种


类型转换使我们在写代码中经常会用到的知识,下面做一个简单的总结,第一篇文章主要是string转换为其他类型。其他类型转换为string以及其他类型的互相转换之后会另写。有什么不足以及错误的地方希望大家可以指出来,我会虚心接受并改正。第一次写没有什么经验,望海涵。


String


1.String转char
   1>toCharArray() 
   说明:将字符串转换为一个新的字符数组

   演示:String s="哈哈hah";
char[]c=s.toCharArray();
   
   备注:将string中所有的字符都存到字符数组中 


   2>charAt(int index)  
   说明:返回指定索引处的 char 值

   演示:String s="哈哈hah";
char c=s.charAt(0);
         (c="哈")
   备注:只转一个字符


2.String转byte
  1>getBytes() 

  说明:使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
  
  演示:String s="哈哈啦啦Ahah";
       byte[]b=s.getBytes();


  详解:默认情况下,汉字会被转成两个负整数,英文字母和符号会被转成ASCII码。


  备注:如果需要对编码过程进行更多控制,则应该使用 CharsetEncoder 类。


3.String转int


  1>parseInt(String s)throws NumberFormatException


  说明:将字符串参数作为有符号的十进制整数进行解析。


  演示:String s="1010101";
int i = Integer.parseInt(s);


  详解:这个方法是将int 表示形式的 String转化为int,也就是说s中必须是数字(“-”也可以,十六进制中的ABCDEF需要设置参数,参见方法2>)。在这个方法中,默认s中的                    int是十进制的。抛出异常参见方法2.

  备注:如果s不是十进制,则需要用到方法2>。


  2>parseInt(String s,int radix)throws NumberFormatException


  说明:使用第二个参数指定的基数,将字符串参数解析为有符号的整数。


  演示:String s="1010101";
int i = Integer.parseInt(s,2);
        //设置s为二进制int,然后将二进制的s转化成十进制。i=85


  详解:如果不设置参数,默认radix是10.
             遇到以下情况会抛出NumberFormatException异常:
             A.第一个参数为 null 或一个长度为零的字符串。 
             B.基数小于 Character.MIN_RADIX 或者大于 Character.MAX_RADIX。 
             C.假如字符串的长度超过 1,那么除了第一个字符可以是减号 '-' ('u002D’) 外,字符串中存在                  
                 任意不是由指定基数的数字表示的字符。 
             D.字符串表示的值不是 int 类型的值。


  备注:记得trycatch。 


  3>valueOf(String s, int radix)throws NumberFormatException + intValue()以 
    说明:valueOf/   返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
          intValue/  int 类型返回该 Integer 的值。


    演示:String s="1010101";
 int i = Integer.valueOf(s).intValue();//将s视为十进制 i=1010101
          //这样写其实也可以 int i = (new Integer(s)).intValue();


          String s="1010101";
 int i = Integer.valueOf(s,2).intValue();//将s视为二进制 i=85


    详解:方法一和方法二的具体实现方式。


    备注:注意抛出异常。建议用上面的方法。


4.String转double,String转long,string转short参见String转int


  说明:方法都一样,唯一不同的是函数名不一样。对于int而言是intValue(),Integer.parseInt();对于double来说是doubleValue(),Double.parseDouble()。
        转成其他形式也一样。


5.String转Boolean


 1>parseBoolean(String s) 


   说明:将字符串参数解析为 boolean 值


   演示:Boolean.parseBoolean("True") //返回 true。
         Boolean.parseBoolean("yes") //返回 false。


   详解:将字符串参数解析为 boolean 值。如果 String 参数不是 null 且在忽略大小写时等于 "true",则返回的 boolean 表示 true 值。
  
   备注:用的不太多。
 
2>getBoolean(String name)  


  说明:当且仅当以参数命名的系统属性存在,且等于 "true" 字符串时,才返回 true。
  //一般很少会用到这个,感兴趣的自己去研究一下吧。











































  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注: 静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和 Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发是一种常用的调试方式,很多开发语言都支持这种机制。在实现,assertion就是在程序的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的 7、String s = new String("xyz");创建了几个String Object 答:两个,一个字符对象,一个字符对象引用对象 8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少 答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor 9、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错 答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转类型)short s1 = 1; s1 += 1;(可以正确编译) 10、Java有没有goto 答:java的保留字,现在没有在java使用 11、数组有没有length()这个方法? String有没有length()这个方法 答:数组没有length()这个方法,有length的属性。String有有length()这个方法 12、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值