菜鸟问个jiava基础问题 string str1 = null;string str2 = "";str1和str2有什么区别吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 null,表示没有任何东西,而""表示是一个空字串。 就是null 和空字符串的区别"" 分配了内存null没有 ""是空字符串,但是也是字符串,没有什么东西。而null是空的意思,什么都没有,没有地址。String str=null 的意思是 声明了一个String的句柄,句柄的名字是 str 但是没有指点认和内存空间。而String str="" 是指向一个内存空间的,这个内存空间有一个空的字符串"" 当然 null表示什么东西都没有 不给分配内存 “”表示空值 有内存的 string str1 = null; 表示创建字符串str1,null表示并没有给str1分配内存空间,所以也没有值了string str2 = "";表示创建了字符串str2,而且初始值为字符串"",也就是说创建了变量str2,而且其初始值字符串""指向一个地址 谢谢大家对上面的解答补充个查询问题(好像不该这里讨论,呵)表news ----------------------------------------------------------- id newsTitle(varchar) newssFrom(varchar) ----------------------|------------------ 1 美容 | 娱乐头条 2 公车事件 | NULL 3 达人 |4 山寨 | 新闻早报 5 武陵 | NULL 6 成龙 | 电影快报 7 诸葛孔明 | NULL 8 洪水 | 南国早报 9 张飞 |10 亚运会 | 广州日报 ------------------------------------------- 注:NULL为mysql query browser 窗口显示的,其实没数据的。 字段、数据及属性上面都有了。 希望能把没有新闻来源(newsFrom)的新闻查询出来!利用hibernate 查询代码: public class DaoTest { public static void main(String[] args) { Session session = HibernateUtil.getSession(); Transaction tx = null; try { tx=session.beginTransaction(); String kew1=null; String kew2=""; Query query=session.createQuery("from Tnews t where t.newsFrom ='"+kew1+"'"); List list=query.list(); System.out.println(list.size()); tx.commit(); } catch (HibernateException e) { e.printStackTrace(); if (tx!=null) { tx.rollback(); } } finally { HibernateUtil.closeSession(); } } } 本人想查询字段newsFrom为空值或者无数据的 也就是没新闻来源的 新闻; 当取值kew1时,查询数据为0; 当取值kew2时,可以查出数据来,但不是我想要的,也就是查到2条数据(id为3和9),我想要查的是包含上面显示为NULL的的数 据。,结果应该为5才行。把自己搞有点晕了!呵。。好像这个问题不该放这里来,哈 string str1 = null;string str2 = "";str1和str2有什么区别吗NULL != "" != " "编程书上或GOOGLE中查找一下 NULL, 空字符串,空格字符的区别。 Query query=session.createQuery("from Tnews t where t.newsFrom is null "); 这样写行吗?应该能查到3的 谢谢,哈哈,解决问题了Query query=session.createQuery("from Tnews t where t.newsFrom is '"+kew2+"' or t.newsFrom is null" ),查询出我想要的5个数据了 这个hibernate查询具体见http://topic.csdn.net/u/20090712/10/9516078c-eab7-4d97-8d57-1e3617db8257.html?37620 myeclipse的调试问题 如何修改SWT中shell的关闭按钮?或者不让shell上显示出来 ? 要用JAVA连接ACCESS数据库,编写一个项目,不是知道技术上可行吗? 新手一个小小的问题~ 如何在Java中实现 像Delphi中的 Midstr 函数 和 pos 函数 谁有Java基础方面的电子书? 怎样获得textarea中的某一行? 集合的增加,删除 提取文本框内容一定要加响应事件才行吗? 有什么方法能将字节码与exe之类的文件联系起来,使得运行exe之类的文件就能运行相应的Java Application程序? 命令行运行java程序,出了点小问题... 获得文件父目录名
而""表示是一个空字串。
"" 分配了内存
null没有
而null是空的意思,什么都没有,没有地址。
String str=null 的意思是 声明了一个String的句柄,句柄的名字是 str 但是没有指点认和内存空间。
而String str="" 是指向一个内存空间的,这个内存空间有一个空的字符串""
补充个查询问题(好像不该这里讨论,呵)表news
-----------------------------------------------------------
id newsTitle(varchar) newssFrom(varchar)
----------------------|------------------
1 美容 | 娱乐头条
2 公车事件 | NULL
3 达人 |
4 山寨 | 新闻早报
5 武陵 | NULL
6 成龙 | 电影快报
7 诸葛孔明 | NULL
8 洪水 | 南国早报
9 张飞 |
10 亚运会 | 广州日报
-------------------------------------------
注:NULL为mysql query browser 窗口显示的,其实没数据的。
字段、数据及属性上面都有了。
希望能把没有新闻来源(newsFrom)的新闻查询出来!利用hibernate 查询
代码:
public class DaoTest { public static void main(String[] args) {
Session session = HibernateUtil.getSession();
Transaction tx = null;
try {
tx=session.beginTransaction();
String kew1=null;
String kew2="";
Query query=session.createQuery("from Tnews t where t.newsFrom ='"+kew1+"'");
List list=query.list();
System.out.println(list.size());
tx.commit();
} catch (HibernateException e) {
e.printStackTrace();
if (tx!=null) {
tx.rollback();
}
} finally {
HibernateUtil.closeSession();
}
}
} 本人想查询字段newsFrom为空值或者无数据的 也就是没新闻来源的 新闻;
当取值kew1时,查询数据为0;
当取值kew2时,可以查出数据来,但不是我想要的,也就是查到2条数据(id为3和9),我想要查的是包含上面显示为NULL的的数 据。,结果应该为5才行。把自己搞有点晕了!
呵。。好像这个问题不该放这里来,哈
string str1 = null;string str2 = "";str1和str2有什么区别吗
NULL != "" != " "编程书上或GOOGLE中查找一下 NULL, 空字符串,空格字符的区别。
这样写行吗?应该能查到3的
谢谢,哈哈,解决问题了
Query query=session.createQuery("from Tnews t where t.newsFrom is '"+kew2+"' or t.newsFrom is null" ),查询出我想要的5个数据了
http://topic.csdn.net/u/20090712/10/9516078c-eab7-4d97-8d57-1e3617db8257.html?37620