字符串拼接出现null的问题
最近在开发的过程中遇到这样的问题,原因是在做一个需求的时候,要求将解密的号码和前缀进行拼接。一开始在这个拼接的过程中,没有考虑到数据校验的问题,因为有可能他的前缀或者其他需要拼接的字段在前端传递的过程中,可能是没有传过来。所以在拼接的时候可能会忽略一个问题,就是字符串拼接了null。
下面看一下错误的拼接例子:
public class Demo {
    public static void main(String[] args) {
        String testOne = null;
        String testTwo = "test";
        String testThree = testTwo + testOne;
        System.out.println(testThree);
        String testFour = testOne + testTwo;
        System.out.println(testFour);
    }
}
打印结果如下:

很明显,这样的拼接结果是错误的。
正确的例子如下:
public class Demo {
    public static void main(String[] args) {
        String testOne = null;
        String testTwo = "test";
        if(testOne == null){
            testOne = "";
        }
        if(testTwo == null){
            testTwo = "";
        }
        String testThree = testTwo + testOne;
        System.out.println(testThree);
    }
}
在拼接字段,对需要拼接的字段先进行校验,如果是null的话,给它赋值成空串。
打印结果如下:

这样拼接的结果就不容易出错啦!
字符串拼接出现null的问题的更多相关文章
- SQL中字符串拼接
		1. 概述 在SQL语句中经常需要进行字符串拼接,以sqlserver,oracle,mysql三种数据库为例,因为这三种数据库具有代表性. sqlserver: select '123'+'456' ... 
- 精简版StringBuilder,提速字符串拼接
		编写目的 在频繁的字符串拼接中,为了提升程序的性能,我们往往会用StringBuilder代替String+=String这样的操作; 而我在实际编码中发现,大部分情况下我用到的只是StringBui ... 
- java 创建string对象机制 字符串缓冲池 字符串拼接机制
		对于创建String对象的机制,在这一过程中涉及的东西还是值得探究一番的. 首先看通过new String对象和直接赋值的方式有什么区别,看如下代码: public static void main( ... 
- Java 字符串拼接 五种方法的性能比较分析 从执行100次到90万次
		[请尊重原创版权,如需引用,请注明来源及地址] > 字符串拼接一般使用“+”,但是“+”不能满足大批量数据的处理,Java中有以下五种方法处理字符串拼接,各有优缺点,程序开发应选择合适的方法实现 ... 
- 从源代码的角度聊聊java中StringBuffer、StringBuilder、String中的字符串拼接
		长久以来,我们被教导字符串的连接最好用StringBuffer.StringBuilder,但是我们却不知道这两者之间的区别.跟字符串相关的一些方法中总是有CharSequence.StringBuf ... 
- JavaWeb学习记录(十四)——商城购物之字符串拼接实现最近浏览商品和购物车的功能
		一.字符串拼接的工具类 package blank.util; import java.util.Iterator;import java.util.Map;import java.util.Set; ... 
- [改善Java代码]自由选择字符串拼接方法
		对一个字符串拼接有三种方法:加号,contact方法,StringBuffer或者StringBuilder的append方法,其中加号是最常用的.其他两种方式偶尔会出现在一些开源项目中,那么这三者有 ... 
- [转]Oracle字符串拼接的方法
		本文转自:http://www.blogjava.net/liuwuping12064915/archive/2011/06/27/353096.html 和其他数据库系统类似,Oracle字符串连接 ... 
- mysql 字符串拼接函数CANCAT()与GROUP_CANCAT()
		1.CONCAT() 拼接单行字符串 select concat(‘100’,user_id) from table1; select concat('11','22','33'); 结果 11223 ... 
随机推荐
- centos6.5安装KVM,并在KVM中安装虚拟6.5系统
			=============================环境搭建================================================== 1.检查CPU信息 KVM 需要 ... 
- dedecms文章页的上下篇颠倒的问题
			dedecms的文章页底下的上下篇,如果按照时间排序的话,最新的一篇应该是最上了,但是底下还是会显示上一篇文章还有,然后下一篇文章没有了,就是颠倒了.如何修改呢. 1.修改include目录下arc. ... 
- 一文弄懂-BIO,NIO,AIO
			目录 一文弄懂-BIO,NIO,AIO 1. BIO: 同步阻塞IO模型 2. NIO: 同步非阻塞IO模型(多路复用) 3.Epoll函数详解 4.Redis线程模型 5. AIO: 异步非阻塞IO ... 
- 树与图的DFS与BFS
			树的DFS 题目:https://www.acwing.com/problem/content/848/ 代码 #include<bits/stdc++.h> using namespac ... 
- Codeforces Round #676 (Div. 2) XORwice、Putting Bricks in the Wall、Palindromifier
			题目链接:XORwice 题意:给你两个数a.b.求一个数x,使得((a异或x)+(b异或x))这个值最小,输出最小那个x 题解: 输出(a|b)-(a&b)就行(猜了一手 代码: #incl ... 
- 2.PowerShell概述
			PowerShell PowerShell命令窗一般随系统带着,运行->输入:powershell,即可打开命令窗口. 命令 Powershell有诸多命令,兼容cmd命令 语法和命令 在此我推 ... 
- CF1471-C. Strange Birthday Party
			CF1471-C. Strange Birthday Party 题意: 你要举办一场生日派对.派对有\(n\)个人,每个人都有一个数字\(k_i\).超市有\(m\)件礼物,购买每件礼物需要花费\( ... 
- bitbar 网站攻击实验
			实验环境 https://github.com/TouwaErioH/security/tree/master/web1 Windows10 Oracle VM VirtualBox Ubuntu16 ... 
- Leetcode 30 串联所有单词的子串 滑动窗口+map
			见注释.滑动窗口还是好用. class Solution { public: vector<int> findSubstring(string s, vector<string> ... 
- ajax和comet
			一,XMLHttpRequest对象 IE5是最早引入XHR对象的浏览器,XHR对象是通过MSXML库中的一个ActiveX对象实现的 使用MSXML库中的XHR对象,编写一个函数如下 functio ... 
