关闭

" "和null的区别

标签: javastring
169人阅读 评论(0) 收藏 举报
分类:

String str1 = null; str引用为空


String str2 = ""; str引用一个空串


也就是null没有分配空间,""分配了空间,因此str1还不是一个实例化的对象,而str2已经实例化。


注意因为null不是对象,""是对象。所以比较的时候必须是 if(str1==null){...}和if(str2.equals("")){...}。


对象用equals比较,null用等号比较。因此,如果str1=null;下面的写法错误: 
if(str1.equals("")||str1==null){//如果str1没有值,则.... 
//。。。。 

正确的写法是 if(str1==null||str1.equals("")){ //先判断是不是对象,如果是,再判断是不是空字符串 
//... 
}

打个比方:一个空玻璃杯,你不能说它里面什么都没有,因为里面有空气,当然也可以把它弄成真空,null与" "的区别就象真空与空气一样。

 

SQL中引号的用法

单引号,双引号,不用引号

数值型不用引号

如:sCondition += " and lArticleId = " + lArticleId;//因为lArticleId是数字型,所以不用单引号

字符型要加单引号

如:sCondition += " and sTitle like '%" + sTitle + "%'";

相比单引号,双引号里面的字段会经过编译器解释然后再当作HTML代码输出,单

引号里面的不需要解释,直接输出。例如:


$abc='I love u'; 
echo $abc //结果是:I love u 
echo '$abc' //结果是:$abc 
echo "$abc" //结果是:I love u


所以在对数据库里面的SQL语句赋值的时候也要用在双引号里面SQL="select a,b,c from ..."


但是SQL语句中会有单引号把字段名引出来


例如:select * from table where user='abc';


这里的SQL语句可以直接写成SQL="select * from table where user='abc'"


但是如果象下面:

$user='abc'; 
SQL1="select * from table where user=' ".$user." ' ";对比一下 
SQL2="select * from table where user=' abc ' "


我把单引号和双引号之间多加了点空格,希望你能看的清楚一点。


也就是把'abc' 替换为 '".$user."'都是在一个单引号里面的。只是把整个SQL字符串分割了。


SQL1可以分解为以下3个部分 
1:"select * from table where user=' " 
2:$user 
3:" ' "


字符串之间用 . 来连接,这样能明白了吧。

另外非常重要的一点是,是字符型还是数值型,一定是以数据库中为主而不是看程序中怎么定义的,因为SQL是运行在数据库中的。

1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Java中""与null区别

java中空字符串("")与null的区别: 1、空字符串("")分配了内存。null没有分配内存。 2、""是一个空字符串(String),它在内存中是存在的,它可以使用Object对象中的方法...
  • ican87
  • ican87
  • 2014-05-14 13:35
  • 940

关于null的说明以及和0的区别

关于null的说明以及和0的区别 一个变量(例如,表上的各个列其实本质就是一个个变量)的值为null(即数据(值)为空),表示该变量没有被赋予任何数值。换句话说,当一个变量的值为null时,表示该...
  • haiross
  • haiross
  • 2015-01-14 09:47
  • 2148

null和NULL和nullptr和””区别

突然想到这个有趣的问题:C语言和C++对大小写是敏感的,也就是说null和NULL是区别对待的。NULL代表空地址,null只是一个符号。
  • cc1949
  • cc1949
  • 2016-04-26 12:47
  • 9931

SQLite中NULL、“”、0、“NULL”的区别

在 SQL 语句中, NULL 值与字符列中的空格, 数字中的零, 字符列中的 NULL ASCII 字符都不相同(参考自子逸的cnblog) NULL 指示这个值 "未知",原因是它可能不存在, 可...
  • Sherenn
  • Sherenn
  • 2016-11-16 22:52
  • 1779

js判断undefined类型,undefined,null, 的区别详细解析

js判断undefined类型,undefined,null, 的区别详细解析
  • qq_26676207
  • qq_26676207
  • 2016-11-09 16:01
  • 7006

==和equals的区别 null和""的区别

java中的数据类型,可分为两类:  1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean    他们之间的比较,应用双等号(...
  • ItJavawfc
  • ItJavawfc
  • 2015-01-13 11:03
  • 1450

20170606_NULL和nullptr的区别与联系

20170606_NULL和nullptr的区别与联系
  • cmm0401
  • cmm0401
  • 2017-06-06 11:04
  • 356

【原创】unset和null的区别

写php代码时,为了节约内存,会经常使用unset或者把变量设置为null。 但是他们有什么区别呢?让我看看看看下面的代码。看过之后,你会明白一些东西。 echo "小于等于256时,unset:\n...
  • our2848884
  • our2848884
  • 2017-04-17 15:37
  • 288

c++11中nullptr(与NULL的区别)

首先呢,要明白一点儿,NULL是一个无类型的东西,而且是一个宏。而宏这个东西,从C++诞生开始,就是C++之父嗤之以鼻的东西,他推崇尽量避免宏。而在他的FAQ中,也有相应的一个关于NULL与0的解释,...
  • justdoithai
  • justdoithai
  • 2016-05-24 17:35
  • 2002

" "和null的区别

" "和null的区别 分类: java基础2012-05-04 10:57 3319人阅读 评论(0) 收藏 举报 nullsqlusertable数据库string ...
  • evilcry2012
  • evilcry2012
  • 2015-07-14 14:19
  • 229
    个人资料
    • 访问:109120次
    • 积分:2217
    • 等级:
    • 排名:第19591名
    • 原创:99篇
    • 转载:26篇
    • 译文:0篇
    • 评论:31条
    我在线呢~
    Q 我~    
    文章分类
    最新评论