zoukankan      html  css  js  c++  java
  • java-String类的常见面试题

    package com.day7.one;

    public class DemoString {

      /**
      * @param args
      */
      public static void main(String[] args) {
        demo1();
        demo2();
        demo3();
        demo4();
        demo5();
      }
      private static void demo1() {
        String s1="abc"; //在常量池中创建了abc字符串
        String s2="abc";
        System.out.println(s1==s2); //s1和s2指向的是同一个地址(true)
        System.out.println(s1.equals(s2)); //将此字符串与指定的对象比较。当且仅当该参数不为 null,
                       //并且是与此对象表示相同字符序列的 String 对象时,结果才为 (true)。
      }
      private static void demo2() {
        String s3=new String("abc"); //创建了两个对象,一个在常量池中,副本在堆内存中
      }
      private static void demo3() {
        String s4=new String("abc");
        String s5="abc";
        System.out.println(s4==s5); //false,因为s4指向的是堆中abc的地址值,s5指向的是常量池中的地址值
        System.out.println(s4.equals(s5)); //true,字符序列相同就行
      }
        private static void demo4() {
        String s6="a"+"b"+"c";
        String s7="abc";
        System.out.println(s6==s7); //true,java中有常量优化机制
        System.out.println(s6.equals(s7)); //true,因为s7直接指向已有的"abc"字符串地址
      }
      private static void demo5() {
        String s8="ab";
        String s9="abc";
        String s10=s8+"c"; //s10是指向对内存中的地址
        System.out.println(s8==s9); //false,
        System.out.println(s9.equals(s10)); //true,
      }

    }

  • 相关阅读:
    linux中make的用法
    Linux/Unix环境下的make命令详解
    clean 伪目标
    Redirection
    Redirect all output to file
    redirection in linux
    Advanced redirection features
    "产品测试管理&敏捷项目管理"研讨会在深圳成功举办!
    软件测试管理高级研修班(3天精品班,中国深圳 2016.1.20~22)
    2015-12-30 杨学明老师为浙江某上市企业提供《成功的产品经理》内训服务!
  • 原文地址:https://www.cnblogs.com/zhujialei123/p/8110165.html
Copyright © 2011-2022 走看看