• String类常见面试题1


    字符串类常见面试题

    1.判断定义为String类型的s1和s2是否相等

    1      String s1="abc";//常量池中没有这个对象就去创建,如果有就使用.
    2         String s2="abc";//第一次创建了,有对此对象,直接指向他
    3         System.out.println(s1==s2);//true
    4         System.out.println(s1.equals(s2));//true,字符串内容比较

    2.下面这句话在内存中创建了几个对象

    1      // 创建了两个对象,一个在常量池里,另一个在堆内存里;根据构造方法String(String original)可知,但两个对象的地址不同
    2         String s1 = new String("abc");
    3         System.out.println(s1);

    3.判断定义为String类型的s1和s2是否相等

    1      String str1=new String("abc");//记录的是堆内存里的对象地址
    2          String str2="abc";//记录的是常量池里的对象地址
    3          System.out.println(str1==str2);//false
    4          System.out.println(str1.equals(str2));//true

    4.判断定义为String类型的s1和s2是否相等

    1      String str1 = "a" + "b" + "c";
    2         String str2 = "abc";
    3         System.out.println(str1 == str2);// true,java中有常量优化机制
    4         System.out.println(str1.equals(str2));// true

    5.判断定义为String类型的s1和s2是否相等

    1         /*
    2          * Java 语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持。 字符串串联是通过 StringBuilder(或
    3          * StringBuffer)类及其 append 方法实现的。 字符串转换是通过 toString 方法实现的.
    4          */
    5         String str1 = "ab";
    6         String str2 = "abc";
    7         String str3 = str1 + "c";
    8         System.out.println(str2 == str3);// false
    9         System.out.println(str2.equals(str3));// true                
  • 相关阅读:
    理解HashSet及使用
    Java 集合类详解
    Java-泛型编程-使用通配符? extends 和 ? super
    回调函数及其用法
    log4j.properties 详解与配置步骤
    约瑟夫环
    泛型的约束与局限性
    把代码字体加大的办法
    System.arraycopy方法
    泛型数组列表与反射
  • 原文地址:https://www.cnblogs.com/le-ping/p/7399741.html
Copyright © 2020-2023  润新知