面试题 汇总 31-40

面试题汇总01-10

面试题汇总11-20

面试题汇总21-30

31、String s=“Hello”; s=s+“world!”,执行之后,原始的String对象的内容改变了没有?

没有,因为String是不可变的类,一开始 s指向了 “Hello” 执行之后,s指向了另一个字符串 “Hello world!”,原来的String内容的对象并没有改变。

32、是否可以继承 String类

String 是 final 类 ,不可以被继承

33、String s=new String(“xyz”);创建了几个 String对象,二者之间有什么区别

两个或者一个, “xyz” 对应一个 对象,存放在 常量缓冲区,new String(“xyz”) ;根据 “xyz” 创建了 一个String对象 s,s中放的是 “xyz”

34、String 和StringBuffer 的区别

StringBuffer是 可变的,可以修改,是线程安全的,StringBuffer没有实现 equals 方法,所以:

new StringBuffer("abc").equals(new StringBuffer("abc"));

答案是 false
也没有覆盖 hashCode() 方法

todo…

StringBuilder 和StringBuffer

35、把一段逗号分隔的 字符串 转换成一个数组

1) 正则表达式

String string="a,c,v,b,n"
String[] result=string.split(",");

2)

36、String有没有 length()方法,数组有没有 length()方法

String 有 length()方法;数组没有 length()方法,length 是数组的一个属性

37、下面的语句创建了多少个对象

String s=“a”+“b”+“c”+“d”;

String str1="a";
String str2=str1+"b";
String str3="a"+"b";

System.out.println(str2="ab");   //false
System.out.println(str3="ab");   //true

java 编译器会优化 String str3=“a”+“b”;
会去掉加号,拼接成 “ab”

38、tyr{} 里面有一个 return 语句,finally 会不会执行,return前还是 return 后

package char01;

public class Test38 {
	/*执行顺序
	 * 1.try 中的非return 语句 2.catch 3.finally 4.try 中的return 语句
	 */
	static int tests() {
		int x = 1;
		try {
			System.out.println("进入 try ");

			return x;
			// System.out.println("出 try");
		} finally {
			System.out.println("进入 finally");
			++x;
			System.out.println("出 finally");
		}

	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(new Test38().tests());

	}

输出结果
在这里插入图片描述
总结
tyr{} 里面有一个 return 语句,finally 会执行,在 return 之后执行

39、下面的代码的输出结果是多少

package char01.test39;

public class SmallTest {
	public int get() {
		try{
			return 1;
		}finally{
			return 2;
		}
		
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		SmallTest test=new SmallTest();
		
		int b=test.get();
		
		System.out.println(b);

	}

}

输出的结果
在这里插入图片描述
调试的结果
先进入 try,停在 return 1;
之后进入 finally,停在 return 2;这个return生效把2 带回给 b

40、final 、 finally 、 finalize 的区别

final 修饰 属性,方法 ,类;修饰属性:属性的值不可以改变;方法:方法不可以被重写;类:类不可以被继承
fianlly:是处理异常结构的一部分;总是执行
finalize:Object 类的一个方法,在垃圾回收的时候调用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值