Java字符串面试题和答案 - [ Java技术面试题 ]

Java字符串面试题和答案

Java String是学习Java语言整体概念的重要部分,因为字符串构成了这种编程语言最重要的类之一。 借助此工具,您可以通过多种不同方式创建字符串对象,然后可以在基于Web的应用程序的编程中使用。

1. 创建不可变类的技术和步骤是什么?

要创建不可变类,请按照以下步骤操作: 将该类作为final类,因此此类无法扩展。将所有字段设为私有,目标是不允许立即访问。尽量不给因素设定策略让每一个可变的字段持续下去,目标是它可以被推出一次。通过构造函数播放一个深拷贝来实现每个字段。在getter技术中执行克隆以恢复重复,而不是恢复正版项目引用。详细答案>>

2. 以下哪一项更适合字符串的描述:派生或原语?

字符串是派生类,因为它具有状态和行为。 例如,它有像substring(),indexOf()和equivalent()这样的策略,但是原语没有。 然而,人们总是如此频繁地使用它,以至于它有一些不常见的特性使它感觉像粗糙:虽然字符串没有被放在调用堆栈上,原语被放在一个特殊的内存区域,称为字符串池。 像原语一样,我们可以在字符串上使用+运算符。详细答案>>

3. 是否可以使用==运算符来比较各种字符串? 涉及的风险是什么?

可以使用等同运算符来比较字符串,但是不建议,因为等同运算符来分析本地和equivalents()技术应该被用来查看这些项目。根据Java中自动装箱的知识,可以推断出统一运算符在查看粗糙对象时如何能够产生不引人注目的问题。 无论如何,String没有该问题,因为它没有比较原始排序,并且不对自动装箱感兴趣。实际上,一直看着字符串意味着字符串的对比实质。例如,利用字符和equivalents()技术来执行基于字符的相关。如果两个字符串聚焦于相似的项目或两个字符串具有相同的内容,则meets()返回true,如...详细答案>>

4. 使用什么技术来确定特定字符串是否为空?

有许多方法可以检查Java中是否未填充String。 例如,可以检查其长度。 如果String的长度为零,那么它就是未填充的。也可以使用isEmpty()技术,如果String未填充,则返回true。 但是,应该注意先决条件。 例如,String可能包含空格,这些空格看起来未填充,但长度不会为零。详细答案>>

5. 可以使用什么方法来定位字符串中的子串?

为了在字符串中定位子串,可以使用indexOf()和lastIndexOf()方法/策略。同样可以利用contains()方法。使用 boolean contains(CharSequence s)方法,如果此字符串包含预定义的char品质分组则返回true,否则它将返回false。详细答案>>

6. StringBuffer和String的区别是什么?

StringBuffer和String的区别如下表所示 - String StringBuffer 长度是固定的 可以根据需要更改长度 它是不可改变的 它是可变的 对象显示性能较差/慢 对象显示性能较好/快 消耗内存 消耗的内存容量较低 存储在一个常量池中 存储在一堆内存中 详细答案>>

7. 为什么Char数组比String更适合存储密码?

该字符串在Java中是永久性的,并放在String池中。 当它留在池中时,除非收集垃圾。 因此,尽管我们已经完成了密码,但它可以在内存中存储更长的时间跨度,并且没有真正的方法可以避开它。 这是一个安全机会,因为任何接近内存转储的人都可以将这个密码这个词时就可能发现为明确的内容。 如果我们使用刻录集群存储密码短语,可以在完成后将其设置为清除。详细答案>>

8. Java字符串池是什么?

在创建字符串文字时,它们被放在字符串池中,这是一个典型的池; 这意味着如果有两个字符串文字具有相似的内容,那么这些字符串将共享池中的空间。 当通过指定字符串strict来制作String对象时,将检查该池以确认是否存在具有类似的当前内容。 如果有则使用当前引用,不会考虑创建新项目。 详细答案>>

9. 描述关于Java中substring()方法机制的过程。

Substring具有与String类似的字符簇。 如果第一个String非常庞大并且在内存中保持不重要,它可以提示内存溢出。 由于子字符串的大小很小,它被子字符串意外地保存。 这导致了对巨大字符的垃圾收集的期待。详细答案>>

10. 为什么String是不可变的?

String被认为是不可变的一些原因包括以下内容: 安全性:字符串不变以帮助增加安全性。 用户名,密码等信息可以放入,因为一旦制作就无法更改字符串。类堆叠:字符串对象用于类堆叠。 可以想象,如果String是可更改的,则可以在JVM中堆叠错误的类。字符串安全:不可变字符串是字符串安全的。 当在多线程条件下使用它们时,不需要同步。详细答案>>

11. 创建String对象有多少种方法?

由于字符串是对象,因此可以使用new运符串来创建字符串。 String类有超过10个构造函数来创建各种字符串,范围从接受任何参数到取消char展示,StringBuilder,另一个String作为连接和StringBuffer。 制作字符串的另一种越来越受欢迎的方法是将String stricting合法地转换为String引用,因为您将为任何原始类型完成。 对于每个字符串,严格的Java将因此构建一个String对象。 例如 - String str =”abc”;详细答案>>

12. 如何比较两个字符串?

有两种不同的方法可以考虑两个String,例如equivalent()技术,equalsIgnoreCase()等等。可以使用4种不同的方法来查看Java中的String以获取更多实例。

详细答案>>

13. String intern()方法有什么作用?

当调用intern()方法时,如果现在的字符串稳定池包含一个等同于由equals(Object)技术控制的String对象的字符串,那么返回池中的字符串。 通常,String对象被添加到池中,并返回对String对象的引用。 intern()是将String(传递给intern()方法)放入字符串稳定池中。详细答案>>
注: 此试题仅作为相关知识水平测试,不能作为权威试题和答案。非商业转载注明原文链接即可;商业转载需本站授权同意。