开发者社区> 问答> 正文

【百问百答】Java开发手册灵魂15问之为什么不建议在for循环中使用“+”进行字符串拼接

1. 什么是String,它是什么数据类型?

2. 创建String对象的不同方式有哪些?

3. 写一个方法来判断一个String是否是回文?

4. 如何让一个字符串变成小写或大写形式?

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

6. 如何将String转换为char,反过来呢?

7. 如何将String转换为byte array,反过来呢?

8. 浅谈一下String, StringBuffer,StringBuilder的区别?

9. String是不可变的有什么好处?

10. 如何分割一个String?

11. 如何判断两个String是否相等?

12. 什么是字符串池?

13. 简述一段代码中有几个字符串被创建

14. String的intern()方法

15. String是线程安全的吗?

16. 为什么我们在使用HashMap的时候总是用String做key?

17. 在Java语言中描述String类是可以继承的么

18. 在Java语言中描述String类实现了什么接口

19. 在Java语言中描述String类本质是什么来实现的

20. 在Java语言中描述String类缓存字符串的hash Code默认初始化值为

21. 在Java语言中描述String类支持序列化么,为什么

22. 在Java语言中描述String类支持反序列化么,为什么

23. 在Java语言中序列化机制是通过什么来判断版本一致的

24. 描述在Java语言中反序列化机制底层实现逻辑

25. 描述为什么能用一个字符数组来创建一个String

26. 简述使用字符数组创建String的时候常用方法

27. 简述Arrays.copyOf方法和Arrays.copyOfRange方法实现原理

28. 简述如何使用一个String类型的对象来初始化一个String

29. 简述使用字符数组来创建一个新的String对象如何才能使用字符数组的一部分达到创建目的

30. 简述char[]字符数组的存储方式

31. 简述String、char、byte在存储形式上区别

32. 简述String(byte[] bytes, Charset charset)构建新的string的原理

33. 为何String(byte[] bytes, Charset charset)构建新的String时,指定其解码方式

34. 代码描述如何使用StringBuffer作为方法入参参数构造一个String

35. 代码描述如何使用StringBuider作为方法入参参数构造一个String

36. 使用StringBuffer作为方法入参参数构造一个String与调用StringBuffer的toString方法哪个效率高

37. 简述Java语言中Jdk 7提供的String保护类型的构造方法

38. 简述使用String(char[] value, boolean share)而不是使用String(char[] value原因

39. 简述Java 7中,substring已经不再使用String(char[] value, boolean share)这种“优秀”的方法的原因

40. 简述如何将一个字符串转换成字节数组

41. 使用String提供的getBytes方法需要注意什么

42. String提供的getBytes方法在使用时如果没有指定编码,会发生什么

43. 简述使用StringBuffer需要注意什么问题

44. replaceFirst、replaceAll、replace区别

45. 简述valueOf()重载方法

46. 简述String类的intern()方法

47. 简述String对“+”的重载

48. 简述String.valueOf和Integer.toString的区别

49. 简述在Java中,创建字符串方式

50. 在Java中,“”与构造函数创建字符串的区别

51. 简述在Java语言中,jvm运行时是否会发生字符串驻留

52. 如何选择“”或者构造函数用来构建字符串

53. 如何理解String的intern方法?

54. 为什么String类被设计成不可变

55. 简述Java语言中String对象的substring() 的作用

56. 简述Java语言中String对象调用substring()时发生了什么

57. 简述Java语言中String对象调用substring()在JDK 6中的substring导致的问题

58. 简述Switch是否支持String类型

59. 简述字符串的switch是通过什么方法来实现的

60. 简述一下为何说switch其实只支持一种数据类型

61. 简述在Java语言中,什么是所谓的字符串拼接

62. 简述在计算机程序设计中,什么是运算法重载

63. 简述在计算机程序设计中,什么是语法糖

64. 简述在Java语言中,是否支持运算符重载

65. 简述在Java语言中,存在什么方式来拼接字符串

66. 简述在Java语言中,JDK8以及之后存在特有的拼接字符串方式

67. 简述Java 中的+ 对字符串的拼接原理

68. 简述Java 中的String的方法concat对字符串的拼接的拼接原理

69. 简述Java 中的StringBuffer对字符串的拼接原理

70. 简述Java 中的StringBuilder对字符串的拼接原理

71. 简述Java 中的StringUtils.join对字符串的拼接原理

72. 如果一个循环体中需要字符串拼接,需要考量什么问题

73. 为什么开发手册建议,循环体内,字符串拼接方式使用StringBuilder的append而不是使用

74. 简述在Java语言中,什么字符串拼接方式是效率最高的,最优推荐

75. 简述在Java语言中特定场景下如何选择字符串拼接方式

76. 简述StringBuffer是如何实现线程安全的

展开
收起
huc_逆天 2021-01-15 10:47:35 2579 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载