• 数据结构专项-字符串


    (1)选择题

    单选题

    自如真题

    1.

    2022 自如 Java

    定义如下程序:

    public class Student{

       public String name;

       public Student(String name){

           this.name = name;

       }

    }

    public class Test implements Cloneable{

          public Student st;

            public static void main(String[] args){

                 Student  s1 = new Student(“Tom”);

                    Test t1 = new Test();

                    t1.st = s1;

                    Test t2 = (Test) t1.clone();

            }

    }

    以下表达式中值为true的是?

    A

    t1 == t2

    B

    t1.equals(t2)

    C

    t1.st != t2.st

    D

    t1.st.equals(t2.st)

    正确答案:D

    官方解析:

    深拷贝和浅拷贝:浅拷贝实际上是复制了被拷贝对象的引用,也就是说浅拷贝的和被拷贝对象指向的是同一块内存空间,而深拷贝则是连同引用的对象也被拷贝,两者指向的是不同的内存空间。必须是Test类中的Student属性是相等的,故选D。

    知识点:字符串

    单选题

    自如真题

    2.2022 自如 Java

    下面哪个流类属于面向字符的输入流

    A

    BufferedWriter

    B

    FileInputStream

    C

    ObjectInputStream

    D

    InputStreamReader

    正确答案:D

    你的答案:A

    官方解析:Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式。 面向字节的操作为以8位为单位对二进制的数据进行操作,对数据不进行转换,这些类都是InputStream和OutputStream的子类。 面向字符的操作为以字符为单位对数据进行操作,在读的时候将二进制数据转为字符,在写的时候将字符转为二进制数据,这些类都是Reader和Writer的子类。

    知识点:字符串

    单选题哔哩哔哩真题

    3.2021 哔哩哔哩 Java

    正则表达式a+?b来尝试匹配aaabbb可以匹配到的结果是

    A

    aaabbb

    B

    ab

    C

    aaab

    D

    b

    正确答案:C

    你的答案:B

    官方解析:

    +表示匹配多个字符,?表示匹配一个或者0个字符,故这里可以把3个a匹配完,然后匹配一个b,选C。

    知识点:字符串

    单选题

    奇安信真题

    4.2021 奇安信 Java

    中缀表达式5+4*(x+3)-6所对应的后缀表达式为

    A

    5 4 x 3 + * 6 + -

    B

    5 4 x 6 3 + * + -

    C

    5 4 x 3 6 + * + -

    D

    5 4 x 3 + * + 6 -

    正确答案:D

    官方解析:

    中缀表达式中应该先计算x+3,因此后缀表达式中+应该出现在x和3的后面,排除BC。

    然后计算乘法,故之后是*,再计算加法,因此+要在6的前面,不然就是计算4*(x+3)+6了,故选D。

    单选题

    自如真题

    5.2022 自如 Java

    用二进制来编码字符串“xyzwxyxx”,需要能够根据编码解码回原来的字符串,则我们最少需要多长的二进制字符串

    A

    12

    B

    14

    C

    15

    D

    18

    正确答案:B

    你的答案:D

    官方解析:

    xyzwxyxx:x:4位、y:2位、z:1位、w:1位

    用4、2、1、1构造哈夫曼树

    知识点:字符串

    1.

    2022 远景智能 Java

    String str = new String(“abc”),“abc”在内存中是怎么分配的?

    A

    B

    C

    字符串常量区

    D

    寄存器

    正确答案:AC

    你的答案:BD

    官方解析:首先将这行代码分成String str、=、"abc"和new String()四部分来看待。String str只是定义了一个名为str的String类型的变量,因此它并没有创建对象;=是对变量str进行初始化,将某个对象的引用(或者叫句柄)赋值给 它,显然也没有创建对象;现在只剩下new String(“abc”)了。我们是使用new调用了String类的上面那个构造器方法创建了一个对象,并将它的引用赋值给了str变量。但是发现该构造函数的参数是一个String类型的,我们要知道String本身就是一个对象。而该对象正是“abc”。
     

    所以得出结论,这行代码一共创建了两个对象,一个是str引用所指向在堆内存中的对象,一个是“abc”,故选AC。

  • 相关阅读:
    【linux】性能优化
    一篇文章让你熟悉unordered_set及其模拟实现
    Java8方法引用和Lambda表达式实例源码+笔记分享
    php权限调整强制用户退出的解决方案
    数商云SCM供应链系统方案服务亮点:生产管理更智能、产业供应链协同管理更便捷
    Opengl之面剔除
    九宫格 图片 自定义 路径
    英文转换-在线英文批量转换器免费
    CAS:304014-13-9,淬灭剂QSY21 NHS ,QSY 21NHS 试剂供应
    用Airtest快速实现手机文件读写与删除功能
  • 原文地址:https://blog.csdn.net/qq_52241267/article/details/140462551