Java错题集

1.What will be the output when you compile and execute the following program. The symbol ’⌴’ means space. 

public class T{ 
   private void test() { 
     String aStr = "⌴One⌴"; 
     String bStr = aStr; 
     aStr.toUpperCase(); 
     aStr.trim(); 
     System.out.println("[" + aStr + "," + bStr + "]"); 
   } 
   static public void main(String[] a) { 
	   new T().test(); 
  }  
 } 

A.[ONE,⌴One⌴]     B.[⌴One⌴,One]     C.[ONE,ONE]     D.[⌴One⌴,⌴One⌴]

通过String bStr = aStr;这句代码使得 bStr 和 aStr 指向同一个地址空间,所以最后 aStr 和 bStr 的结果应该是一样,String类是定长字符串,调用一个字符串的方法以后会形成一个新的字符串。所以,应选D。


2.下面的代码输出结果是什么?

import java.util.HashSet;
import java.util.Set;

public class ShortSet {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Set<Short> s = new HashSet<Short>();
		for(Short i=0; i<5; i++){
			s.add(i);
			s.remove(i-1);
		}
		System.out.println(s.size());
	}
}

A.1     B.100     C.抛出异常     D.None of the above

i是Short类型,i-1是int类型,其包装类为Integer,所以s.remove(i-1);(i-1的返回类型会自动变成int类型)并不能移除Set集合中的Short类型对象。所以应选B。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值