Java 填坑筆記一

  • String運算會產(chǎn)生新的String, 不會改變其原有的值
    StringBuilder和StringBuffer會改變其原有的值, 所以循環(huán)內(nèi)字符串運算推薦用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);
        }
    }
   /*
    運行結(jié)果:
    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);
        }
    }
   /*
    運行結(jié)果:
    hehehehe
   */
  • Integer對象 -128-127范圍的數(shù)字 在IntegerCache里,調(diào)用時直接引用. 所以Integer Long String對象的比較,應(yīng)該調(diào)用equals方法.
    @Test
    public void test() {        
        for (Integer integer = -129; integer <= 128; integer++) {
            Integer j = integer.intValue();
            if (integer != j)
                System.out.println(integer + " " + j);
        }
     }
  /*
    運行結(jié)果:
    -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);
    }

  /*
    運行結(jié)果:
    true
    false
   */
  • 值傳遞和引用傳遞,對象在方法中都是引用傳遞。但是Integer等類型會自動拆裝箱,String類型會產(chǎn)生一個新的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;
    }

    /*
      運行結(jié)果:
      1
      age: 12, name: child
     */
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,642評論 18 399
  • Java中沒有指針,只存在值傳遞 對于對象(數(shù)組,類,接口)的傳遞似乎有點像引用傳遞,可以改變對象中某個屬性的值。...
    倚嵐聽風(fēng)閱讀 563評論 0 0
  • java筆記第一天 == 和 equals ==比較的比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量...
    jmychou閱讀 1,644評論 0 3
  • 三元運算符:用來完成簡單的選擇邏輯,使用格式:(條件表達式)?表達式1:表達式2; 遍歷List集合,對集合中最后...
    倚嵐聽風(fēng)閱讀 934評論 0 0
  • 覺一無音宮主閱讀 203評論 1 0

友情鏈接更多精彩內(nèi)容