java string 转 object_java 类型转换 Object和String互转

java string 转 object_java 类型转换 Object和String互转Long,Float等Object转为String方法1.toString()使用范围:任何继承Object的类都具有这个方法但是,使用toString()的对象不能为null,否则会抛出异常java.lang.NullPointerException/**返回:该对象的字符串表示*/Integerx=newInteger(100);if(x!=null)System.out.printl…

大家好,又见面了,我是你们的朋友全栈君。

Long,Float等Object转为String

方法1.toString()

使用范围:任何继承Object的类都具有这个方法

但是,使用toString()的对象不能为null,否则会抛出异常java.lang.NullPointerException

/**返回:该对象的字符串表示*/

Integer x = new Integer(100);

if(x!=null)

System.out.println(x.toString());

方法2.String.valueOf()

String.valueOf()解决了toString()使用对象不能为空的问题,实际上,该方法在底层还是使用了toString(),源码如下

public static String valueOf(Object obj) {

return (obj == null) ? “null” : obj.toString();

}

特别注意:当对象对null,转为的String类对象是字符串“null”

/**这样的代码肯定就回有问题,因为永远不会得到执行。*/

if(String.valueOf(o) == null){…}

应该是

if(String.valueOf(o) == “null”){…}

方法3:采用类型转换(String)object方法

(String)区别于上面两种方法,因为它是强制转换。

使用这种方法,最好先通过instanceof()判断被转换的类型能不能强制转为String类型。

boolean result = object instanceof class 判断其左边对象是否为其右边类的实例或者可以转化为右边类,返回boolean类型的数据

使用这种方法时,需要注意的是类型必须能转成String类型。柔则会抛出CalssCastException异常

null值可以强制转换为任何java类类型,(String)null也是合法的。

Object是可以通过强制转换成为String的

Integer不能通过强制转换成String。

总结:

使用Object.toString()方法 的对象不能为null

使用String.valueOf(),注意返回值:如果其他对象为null,返回字符串“null”而不是null对象

String 转 Long,Float,Double等类型

以String转Long为例

/**第一步:获取String类变量*/

String strAreaId= “12”;

/**第二步:判断果String类变量非空非null*/

if (strAreaId!= null && !””.equals(strAreaId)) {

/**第三步:把String类变量转为Long型*/

Long areaId = new Long(strAreaId);

Long areaId2 = Long.valueOf(strAreaId);

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137729.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • string和stringbuffer的区别面试题_stringbuffer转为string

    string和stringbuffer的区别面试题_stringbuffer转为stringString和StringBuffer的区别String:是对象不是原始类型。为不可变对象,一旦被创建,就不能修改它的值。对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。String是final类,即不能被继承。StringBuffer:是一个可变对象,当对它进行修改的时候不会像String那样重新建立对象。它只…

    2022年4月19日
    46
  • 效率倍增,推荐6个好用到爆的Pycharm插件

    效率倍增,推荐6个好用到爆的Pycharm插件相信对于不少的Python程序员们都是用Pycharm作为开发时候的IDE来使用的。今天我来分享几个好用到爆的Pycharm插件,在安装上之后,你的编程效率、工作效率都能够得到极大地提升。喜欢本文点赞、收藏、关注。部分插件技术群朋友分享,在此表示感谢。【文末】提供技术交流群安装方法插件的安装方法一点都不难打开file—settings—plugins,在右侧的文本框中输入想要查看的插件名称,在下方就会罗列出已经安装的相关的插件找到我们所需要的对应插件之后,点击install即可完成下载,然后重

    2022年8月29日
    2
  • 变量放在堆还是栈_堆和栈的共同特点

    变量放在堆还是栈_堆和栈的共同特点内容会持续更新,有错误的地方欢迎指正,谢谢!什么是栈区,什么是堆区栈区(stack):由编译器自动分配释放,存放函数的参数值、局部变量的值等,内存的分配是连续的,类似于数组,当我们声明变量时,编译器会自动接着当前栈区的结尾来分配内存。堆区(heap):由程序员分配释放,若程序员不释放,程序结束时由OS回收,内存的分配不是连续的,类似于链表。变量存放的位置C/C++程…

    2025年5月27日
    2
  • JAVA语言实现计算器

    JAVA语言实现计算器JAVA语言实现计算器

    2022年7月19日
    16
  • datagrip 激活码-激活码分享

    (datagrip 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月22日
    219
  • php代码检测工具_php代码在线运行

    php代码检测工具_php代码在线运行https://segmentfault.com/q/1010000000119048

    2022年9月28日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号