# String 是基本数据类型吗

String 是类,不是基本数据类型

# String 是可变的话?

String 是 final 类型的,不可变

# 如何比较两个字符串的值一样,又如何比较两个字符串是否为同一个对象?

比较字符串的值是否相同用 equals

比较字符串对象是否为同一个用 ==

# switch 中可以用 String 吗?

jdk7 + 的 switch 中可以使用 String 类型

# String str = new String (“abc”); 创建了几个对象?

创建了两个或者一个,"abc" 本身创建了对象在常量池中,又通过 new 创建了对象在堆中。

# String,StringBuffer,StringBuilder 有什么区别?

最大的区别就是 String 不可变,而后者两个可变,StringBuffer 是线程安全的,StringBuilder 线程虽然不安全但是速度较快。

# String.trim () 方法去掉的是哪些字符?

trim 去掉的是字符串首尾的空白字符

# String 可以被子类继承吗?

既然 String 是 final 的,所以不能被继承。

# String 和 byte [] 两者之间如何转化?

String 转换为 byte [] 通过 String 类的 getBytes 方法,

byte [] 转化为 String 通过 new String (byte []) 构造器