null与字符串拼接问题
来源:互联网 发布:工作任务软件 编辑:程序博客网 时间:2024/05/22 15:08
昨天写代码的时候发现了个挺有趣的问题:
public static void main(String[] args)throws Exception{ String str="test test"; byte[] data=str.getBytes(); File file = new File(null+""); if(!file.exists()){ file.createNewFile(); } FileOutputStream out = null; try { out = new FileOutputStream(file); out.write(data); } finally { if (out != null) { out.close(); } } System.out.print(file.getAbsolutePath()); }
这段代码竟然没有报这个异常:Exception in thread "main" java.io.IOException: 系统找不到指定的路径。
还打印出了正常结果:
E:\IDEA\study\null
于是就有了下面这一段代码:
public static void main(String[] args){ String str=null; System.out.println(str); String str1=str+""; System.out.println(str1); System.out.println(str1.equals(str)); System.out.println(str1.equals("")); System.out.println(str1.equals(null)); System.out.println(str1.equals("null")); }打印结果:
null
null
false
false
false
true
s = s+""; 等价于 s = String.valueOf(s)+"";
看String源码得知:
/** * Returns the string representation of the {@code Object} argument. * * @param obj an {@code Object}. * @return if the argument is {@code null}, then a string equal to * {@code "null"}; otherwise, the value of * {@code obj.toString()} is returned. * @see java.lang.Object#toString() */ public static String valueOf(Object obj) { return (obj == null) ? "null" : obj.toString(); }null与字符串拼接的时候,相当于"null"和字符串拼接;
0 0
- null与字符串拼接问题
- SQL Sever中Null与字符串拼接
- null与"" 涉及到的字符串拼接
- 在SQL Sever中,Null与任何字符串拼接后的结果还是Null的解决办法
- 字符串拼接效率问题
- 字符串中null与""的问题
- 字符串分割与拼接
- 字符串与数组拼接,
- 整数与字符串的拼接问题的解决
- 拼接字符串时,单引号与双引号的问题
- 减号拼接字符串的问题
- [java]字符串的拼接问题
- SQL字符串拼接 引号问题
- JS字符串拼接的问题
- mysql 中字符串拼接问题
- IOS 字符串的拼接问题
- SQL字符串拼接 引号问题
- 关于JavaScript拼接字符串问题
- 在排好序的数组中找出缺失的整数
- 分布式锁原理及实现方式
- 关于VxWorks闲谈
- AndroidTV开发(十一)Android Tv Launcher自定义RecyclerView
- 博客园添加打赏功能
- null与字符串拼接问题
- 12.11
- access函数 权限测试
- Android第一行代码学习笔记
- HDU 1176 免费馅饼 动态规划 数塔变形
- NGINX 重写
- redis:RDB快照失败,MISCONF Redis is configured to save RDB snapshots, but is currently not able to persis
- python+openCV利用cascade分类器训练实现实时视频车辆检测与车牌检测(一)
- rtsp rtmp http 比较