美文网首页
Java 填坑笔记一

Java 填坑笔记一

作者: SherlockMoon | 来源:发表于2017-06-22 23:38 被阅读0次
  • String运算会产生新的String, 不会改变其原有的值
    StringBuilder和StringBuffer会改变其原有的值, 所以循环内字符串运算推荐用StringBuilder
    @Test
    public void test() {        
        List<String> strings = new ArrayList<>();
        strings.add("hehe");
        for (String e: strings) {
            e = e.toUpperCase();
            e += "hehe";
        }
        for (String string : strings) {
            System.out.println(string);
        }
    }
   /*
    运行结果:
    hehe
   */
    @Test
    public void test() {        
        List<StringBuilder> strings = new ArrayList<>();
        strings.add(new StringBuilder("hehe"));
        for (StringBuilder e: strings) {
            e.append("hehe");
        }
        for (StringBuilder string : strings) {
            System.out.println(string);
        }
    }
   /*
    运行结果:
    hehehehe
   */
  • Integer对象 -128-127范围的数字 在IntegerCache里,调用时直接引用. 所以Integer Long String对象的比较,应该调用equals方法.
    @Test
    public void test() {        
        for (Integer integer = -129; integer <= 128; integer++) {
            Integer j = integer.intValue();
            if (integer != j)
                System.out.println(integer + " " + j);
        }
     }
  /*
    运行结果:
    -129 -129
    128 128
   */

    @Test
    public void test() {        
        Integer aInteger = 2;
        Integer bInteger = 2;
        Integer cInteger = 200;
        Integer dInteger = 200;
        System.out.println(aInteger == bInteger);
        System.out.println(cInteger == dInteger);
    }

  /*
    运行结果:
    true
    false
   */
  • 值传递和引用传递,对象在方法中都是引用传递。但是Integer等类型会自动拆装箱,String类型会产生一个新的String.所以这几个对象在方法中传递不会影响值.

   class Person {
        int age;
        String name;
        public Person(int age, String name) {
            this.age = age;
            this.name = name;
        }
        
        @Override
        public String toString() {
            return "age: " + String.valueOf(this.age) + ", name: " + name;
        }
    }
    
    @Test
    public void test() {        
        int a = 1;
        addOne(a);
        System.out.println(a);
        Person person = new Person(10, "child");
        addTwo(person);
        System.out.println(person);
    }

    private void addOne(int val) {
        val += 1;
    }
    
    private void addTwo(Person person) {
        person.age += 2;
    }

    /*
      运行结果:
      1
      age: 12, name: child
     */

相关文章

  • Java 填坑笔记一

    String运算会产生新的String, 不会改变其原有的值StringBuilder和StringBuffer会...

  • 《被讨厌的勇气》读书笔记

    这是一篇占坑待填的读书笔记

  • mybatis-generator:generate 生成代码配

    mybatis-generator:generate 生成代码配置踩坑不少,在此留下笔记以便后续填坑 一、mysq...

  • Kotlin To Java 填坑

    背景: 使用Android studio将kotlin代码转换为java代码,发现没有Decompile按钮将By...

  • 踩坑填坑笔记

    今天碰到一个坑,如何挖了很多东西出来,记录一下。 问题一:在HSF demo 里面遇到了这种注解无法解析的情况 在...

  • vue填坑笔记

    这周开始学习vue,用的vue-cli脚手架做简单的登录页面。但在安装和使用时,还是遇到了一些坑,犯了不少低级错误...

  • 前端填坑笔记

    前言 由于前端研发经验少,很多常识性的东西不知道。在此整理用过的简单的常识性的东西。本次实践涉及的主要框架有:jq...

  • lab2:Raft 算法

    一、前言 先占个坑,等找完工作后再填一波坑,将 raft 用 Java 实现一遍。 二、参考资料 https://...

  • 从Android到Java(二)

    Java基础知识填坑继续。 Java 集合与泛型 数组 VS ArrayList 数组大概是我们学习任何语言时接触...

  • 再挖个坑,明天填,push的

    再挖个坑,明天填,push的 再挖个坑,明天填,push的 再挖个坑,明天填,push的 再挖个坑,明天填,pus...

网友评论

      本文标题:Java 填坑笔记一

      本文链接:https://www.haomeiwen.com/subject/kuhqcxtx.html