Object obj = new String("北京尚学堂"); //StringBuffer是可变序列,String是不可变序列 //为了避免出现类型转换异常的情况,使用instanceof运算符进行判断 if(obj instanceof String){ String str = (String) obj; System.out.println(str.charAt(0)); }else if(obj instanceof StringBuffer){ StringBuffer str = (StringBuffer) obj; System.out.println(str.charAt(0)); }解释每一行代码
时间: 2024-02-14 11:14:33 浏览: 75
这段代码的作用是判断一个对象是 String 类型还是 StringBuffer 类型,并输出字符串的第一个字符。
1. `Object obj = new String("北京尚学堂");`: 声明一个 Object 类型的变量 obj,并将其初始化为一个 String 类型的对象,值为"北京尚学堂"。
2. `if(obj instanceof String){`: 使用 instanceof 运算符判断 obj 是否是 String 类型。
3. `String str = (String) obj;`: 将 obj 强制类型转换为 String 类型,并将其赋值给 str 变量。
4. `System.out.println(str.charAt(0));`: 输出字符串 str 的第一个字符。
如果 obj 是 StringBuffer 类型,则执行第 5-7 行代码:
5. `}else if(obj instanceof StringBuffer){`: 使用 instanceof 运算符判断 obj 是否是 StringBuffer 类型。
6. `StringBuffer str = (StringBuffer) obj;`: 将 obj 强制类型转换为 StringBuffer 类型,并将其赋值给 str 变量。
7. `System.out.println(str.charAt(0));`: 输出字符串 str 的第一个字符。
阅读全文