特点
- String类型被final修饰声明的,意味着我们不能继承String。
- 字符串的对象也是不可变对象,意味着一旦进行修改,就会产生新对象。
- 如果修改了字符串后,想要重新获取新的内容,必须重新接受。
- 如果程序中涉及大量的字符串修改操作,那么此时的时空消耗就比较高。可能需要考虑使用StringBuilder或StringBuffer。
- String对象内部是用字符数组进行保存的。 JDK 1.9之前,有过一个Char[] value数组,JDK 1.9之后用byte[]数组。
- String类的char[] value数组也是final修饰的,意味着这个数组不可变,然后它是private修饰的,外部不能直接操作它,String类所提供的所有的方法都是用新对象来表示修改后内容的,所以保证String对象的不可变。