Java8中各种奇葩赋值之后的==判断

13人阅读 评论(0) 收藏 举报
分类:

以下是博主在jdk8的版本下运行的结果,一些还是不是很理解,暂且记下。当然如果有哪位大神不吝赐教的话甚是感激。也欢迎各位在下边讨论。有一个问题,就是String在使用=赋值时会调用String类的哪个方法来实现包装?

代码一

public class MainTest {

    public static void main(String[] args) {
        String a = "java";
        String b = "java";
        System.out.println(a==b);  // true

        String c = "abc";
        String d = "abc";
        System.out.println(c==d);  // true
    }

}

代码二

public class MainTest {

    public static void main(String[] args) {

        String c = "abc";
        String d = "ab"+"c";
        System.out.println(c==d);  // true

    }

}

此段代码其实跟代码一在编译之后是一样的结果,因为在编译时会做优化,进行常量折叠。

代码三

public class MainTest {

    public static void main(String[] args) {
        String a = "ab";
        String b = "b";
        String c = "abc";
        String d = a+b;
        System.out.println(c==d);  // false
        System.out.println(c==(a+b));  // false
    }

}

此代码中将d右边的a或者b任意一个换成字符串都是一样的结果。

查看评论

js 各种奇葩写法

学标准语言出身的人,看到js各种写法觉得匪夷所思,感觉js是一种随便乱写都不会报错的语言.下面总结一下js的各种奇葩写法. 对象 var a= {}; 数组 var b = []; 史上最简...
  • zb219
  • zb219
  • 2012-07-11 00:01:16
  • 3455

用纯函数式思维在Java8下写的一段奇葩程序

首先说一下什么是纯函数式。在我的理解,“纯函数式”用一句话就可以描述:Anything is value.——我的理解不一定准确,但我就是这么理解的。 就是所有的东西都是值——没有变量;包括函数...
  • naturemickey
  • naturemickey
  • 2014-07-12 11:53:02
  • 865

各种奇葩的BUG

每逢周三就崩溃转载地址:http://blog.jobbole.com/95634/ 拿点儿喝的坐好,是时候讲讲我最喜欢的 bug 的故事了。那是我第一份 IT 相关的工作:在一个生产重要医疗设备的...
  • awp0011
  • awp0011
  • 2015-12-08 08:46:49
  • 914

【零基础入门学习Python笔记014】字符串:各种奇葩的内置方法

示例:
  • SMF0504
  • SMF0504
  • 2016-03-14 10:39:12
  • 774

014:字符串:各种其奇葩的内置方法

笔记:  字符串的方法及注释 capitalize()      把字符串的第一个字符改为大写      casefold()      把...
  • junwei0206
  • junwei0206
  • 2015-03-30 13:50:12
  • 2342

Android开发下遇到的一些奇葩问题处理

环境  :     MAC+ Android Studio ; Q1 : Gradle Home not found 。           网上查到的解决方案比较少一些,如 gradle-wra...
  • liuxiao310
  • liuxiao310
  • 2016-03-23 14:26:47
  • 777

java初级之8赋值与初始化

1 赋值 赋值:是给变量指定一个值或者是改变一个变量的值。 int speed=30; variable=expression;//变量类型 变量名=表达式 2 初始化 局部变量:必须显示...
  • pingfandelanyangyang
  • pingfandelanyangyang
  • 2016-08-08 18:19:30
  • 768

Java8中时间日期库的20个常用使用示例(未测试)

除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学习如何使用Java 8的这套API。Java对日期,...
  • lzy1357986420
  • lzy1357986420
  • 2016-07-22 13:50:05
  • 782

那些奇葩的代码注释

发现一些有趣奇葩的注释 // _ooOoo_ // o8888888o // ...
  • xufeng0991
  • xufeng0991
  • 2015-01-04 15:36:57
  • 5348

Java5-Java8新特性,这回全了

Java5:泛型 Generics 引用泛型之后,允许指定集合里元素的类型,免去了强制类型转换,并且能在编译时刻进行类型检查的好处。Parameterized Type作为参数和返回值,Generic...
  • zhenzigis
  • zhenzigis
  • 2016-01-15 17:48:07
  • 900
    个人资料
    持之以恒
    等级:
    访问量: 2万+
    积分: 789
    排名: 6万+
    最新评论