锁定老帖子 主题:关于JAVA单例模式
精华帖 (1) :: 良好帖 (2) :: 新手帖 (7) :: 隐藏帖 (12)
|
|
---|---|
作者 | 正文 |
发表时间:2012-03-19
最后修改:2012-03-19
to: xuehua1987 你真的写过代码吗??请你说实话。
你笨我可以理解,但你再笨你可以写两行代码验证一下吗? ------------------------------------------------- xuehua1987 :null放在前面就是为了避免变量为空时 引了空指针异常 如: if(a==null) 如果a 真为空时,现在就相当用调用了变量a的方法,a 都为空了还调用他的方法,当然会引发空指针异常了,但写成if(null==a)就不会了. 亲,这个问题要深层次的理解,要在程序运行时才可能出现的,你都一个变量显示的赋值了,当然不是空指针了. |
|
返回顶楼 | |
发表时间:2012-03-19
最后修改:2012-03-19
ironsabre 写道 你真的写过代码吗??请你说实话。
你笨我可以理解,但你再笨你可以写两行代码验证一下吗? ------------------------------------------------- null放在前面就是为了避免变量为空时 引了空指针异常 如: if(a==null) 如果a 真为空时,现在就相当用调用了变量a的方法,a 都为空了还调用他的方法,当然会引发空指针异常了,但写成if(null==a)就不会了. 亲,这个问题要深层次的理解,要在程序运行时才可能出现的,你都一个变量显示的赋值了,当然不是空指针了. public class Test { public static void main(String[] args) { Object a = null; if(a == null) { System.out.println("abc"); } } } 执行一下去吧,抛异常了哥跟你姓 不过初学者哥不怪 “如果a 真为空时,现在就相当用调用了变量a的方法”,教你的老师你去揍他一顿吧,没见过这么无知的。无知不可怕,可怕的是还出来误人子弟 |
|
返回顶楼 | |
发表时间:2012-03-19
freish 写道 ironsabre 写道 你真的写过代码吗??请你说实话。
你笨我可以理解,但你再笨你可以写两行代码验证一下吗? ------------------------------------------------- null放在前面就是为了避免变量为空时 引了空指针异常 如: if(a==null) 如果a 真为空时,现在就相当用调用了变量a的方法,a 都为空了还调用他的方法,当然会引发空指针异常了,但写成if(null==a)就不会了. 亲,这个问题要深层次的理解,要在程序运行时才可能出现的,你都一个变量显示的赋值了,当然不是空指针了. public class Test { public static void main(String[] args) { Object a = null; if(a == null) { System.out.println("abc"); } } } 执行一下去吧,抛异常了哥跟你姓 不过初学者哥不怪 “如果a 真为空时,现在就相当用调用了变量a的方法”,教你的老师你去揍他一顿吧,没见过这么无知的。无知不可怕,可怕的是还出来误人子弟 唉,我无语了 ,不知道是我没有说清楚还是你傻,怎么就钻牛角尖呢。。变量是干啥用的?当然是使用该变量的一些方法,你变量都为null,在调用变量的方法,难道不报空指针异常?我可并没有说a==null会报空指针异常...思维发散一下好不好.. |
|
返回顶楼 | |
发表时间:2012-03-19
freish 写道 ironsabre 写道 你真的写过代码吗??请你说实话。
你笨我可以理解,但你再笨你可以写两行代码验证一下吗? ------------------------------------------------- null放在前面就是为了避免变量为空时 引了空指针异常 如: if(a==null) 如果a 真为空时,现在就相当用调用了变量a的方法,a 都为空了还调用他的方法,当然会引发空指针异常了,但写成if(null==a)就不会了. 亲,这个问题要深层次的理解,要在程序运行时才可能出现的,你都一个变量显示的赋值了,当然不是空指针了. public class Test { public static void main(String[] args) { Object a = null; if(a == null) { System.out.println("abc"); } } } 执行一下去吧,抛异常了哥跟你姓 不过初学者哥不怪 “如果a 真为空时,现在就相当用调用了变量a的方法”,教你的老师你去揍他一顿吧,没见过这么无知的。无知不可怕,可怕的是还出来误人子弟 public static void main(String[] args) { String test = null ; if(test.equals(null)) { System.out.println("------"); } System.out.println("++"); } 你认为真短代码不报异常? |
|
返回顶楼 | |
发表时间:2012-03-19
xuehua1987 写道 freish 写道 ironsabre 写道 你真的写过代码吗??请你说实话。
你笨我可以理解,但你再笨你可以写两行代码验证一下吗? ------------------------------------------------- null放在前面就是为了避免变量为空时 引了空指针异常 如: if(a==null) 如果a 真为空时,现在就相当用调用了变量a的方法,a 都为空了还调用他的方法,当然会引发空指针异常了,但写成if(null==a)就不会了. 亲,这个问题要深层次的理解,要在程序运行时才可能出现的,你都一个变量显示的赋值了,当然不是空指针了. public class Test { public static void main(String[] args) { Object a = null; if(a == null) { System.out.println("abc"); } } } 执行一下去吧,抛异常了哥跟你姓 不过初学者哥不怪 “如果a 真为空时,现在就相当用调用了变量a的方法”,教你的老师你去揍他一顿吧,没见过这么无知的。无知不可怕,可怕的是还出来误人子弟 public static void main(String[] args) { String test = null ; if(test.equals(null)) { System.out.println("------"); } System.out.println("++"); } 你认为真短代码不报异常? 我们既然声明了变量,肯定会使用该变量的,或者使用该变量的方法,并不是a==null会报异常...唉... |
|
返回顶楼 | |
发表时间:2012-03-19
xuehua1987 写道 freish 写道 ironsabre 写道 你真的写过代码吗??请你说实话。
你笨我可以理解,但你再笨你可以写两行代码验证一下吗? ------------------------------------------------- null放在前面就是为了避免变量为空时 引了空指针异常 如: if(a==null) 如果a 真为空时,现在就相当用调用了变量a的方法,a 都为空了还调用他的方法,当然会引发空指针异常了,但写成if(null==a)就不会了. 亲,这个问题要深层次的理解,要在程序运行时才可能出现的,你都一个变量显示的赋值了,当然不是空指针了. public class Test { public static void main(String[] args) { Object a = null; if(a == null) { System.out.println("abc"); } } } 执行一下去吧,抛异常了哥跟你姓 不过初学者哥不怪 “如果a 真为空时,现在就相当用调用了变量a的方法”,教你的老师你去揍他一顿吧,没见过这么无知的。无知不可怕,可怕的是还出来误人子弟 唉,我无语了 ,不知道是我没有说清楚还是你傻,怎么就钻牛角尖呢。。变量是干啥用的?当然是使用该变量的一些方法,你变量都为null,在调用变量的方法,难道不报空指针异常?我可并没有说a==null会报空指针异常...思维发散一下好不好.. 既然判断为null了你还要去使用它,这不是找抽啊 Object obj =null; if(obj == null) { // obj.hashCode();//脑袋抽筋了啊! return; //or throw new Exception("...."); } a.hashCode();//这里才会调用a的方法 不然去判断a为null做什么! |
|
返回顶楼 | |
发表时间:2012-03-19
最后修改:2012-03-19
xuehua1987 写道 xuehua1987 写道 freish 写道 ironsabre 写道 你真的写过代码吗??请你说实话。
你笨我可以理解,但你再笨你可以写两行代码验证一下吗? ------------------------------------------------- null放在前面就是为了避免变量为空时 引了空指针异常 如: if(a==null) 如果a 真为空时,现在就相当用调用了变量a的方法,a 都为空了还调用他的方法,当然会引发空指针异常了,但写成if(null==a)就不会了. 亲,这个问题要深层次的理解,要在程序运行时才可能出现的,你都一个变量显示的赋值了,当然不是空指针了. public class Test { public static void main(String[] args) { Object a = null; if(a == null) { System.out.println("abc"); } } } 执行一下去吧,抛异常了哥跟你姓 不过初学者哥不怪 “如果a 真为空时,现在就相当用调用了变量a的方法”,教你的老师你去揍他一顿吧,没见过这么无知的。无知不可怕,可怕的是还出来误人子弟 public static void main(String[] args) { String test = null ; if(test.equals(null)) { System.out.println("------"); } System.out.println("++"); } 你认为真短代码不报异常? 我们既然声明了变量,肯定会使用该变量的,或者使用该变量的方法,并不是a==null会报异常...唉... 我就搞不懂了,明明有人说的是 if(a==null)可能会抛异常 解释的时候都给我来 if(a.equals(null)),我这碰到的都是些什么人呐! 这两者能等效等一样么 我仿佛听到有人跟我说猪肉有毒,我问为什么,答曰海豚的内脏有毒 牛头不对马嘴 |
|
返回顶楼 | |
发表时间:2012-03-19
说单例怎么说到这里去了。
不过话说,那个说if(a==null)一定要写成if(null==a)的脑子真的抽了。 如果说if(a.equals("")),为了不做a==null的判断,要写成if("".equals(a)),那倒是非常正确的。 |
|
返回顶楼 | |
发表时间:2012-03-20
To:xuehua1987
a == null; if (a==null) no error. --这不算是对a进行方法调用。明白吗?? if (a.equals(xxx)) --这算是对a进行方法调用,所以会报错。nullpoint. 结论:你没写过代码。 xuehua1987 写道 xuehua1987 写道 freish 写道 ironsabre 写道 你真的写过代码吗??请你说实话。
你笨我可以理解,但你再笨你可以写两行代码验证一下吗? ------------------------------------------------- null放在前面就是为了避免变量为空时 引了空指针异常 如: if(a==null) 如果a 真为空时,现在就相当用调用了变量a的方法,a 都为空了还调用他的方法,当然会引发空指针异常了,但写成if(null==a)就不会了. 亲,这个问题要深层次的理解,要在程序运行时才可能出现的,你都一个变量显示的赋值了,当然不是空指针了. public class Test { public static void main(String[] args) { Object a = null; if(a == null) { System.out.println("abc"); } } } 执行一下去吧,抛异常了哥跟你姓 不过初学者哥不怪 “如果a 真为空时,现在就相当用调用了变量a的方法”,教你的老师你去揍他一顿吧,没见过这么无知的。无知不可怕,可怕的是还出来误人子弟 public static void main(String[] args) { String test = null ; if(test.equals(null)) { System.out.println("------"); } System.out.println("++"); } 你认为真短代码不报异常? 我们既然声明了变量,肯定会使用该变量的,或者使用该变量的方法,并不是a==null会报异常...唉... |
|
返回顶楼 | |
发表时间:2012-03-20
837062099 写道 说单例怎么说到这里去了。
不过话说,那个说if(a==null)一定要写成if(null==a)的脑子真的抽了。 如果说if(a.equals("")),为了不做a==null的判断,要写成if("".equals(a)),那倒是非常正确的。 一个小小的单例,最重要的错误是他根本不是单例。 然后来了一帮人各种乱讲,各种评论,就是没看到最重要的错误。 |
|
返回顶楼 | |