错题本(1)

这篇博客探讨了Java编程中的几个常见误区,包括对toLowerCase()方法的理解、泛型的使用限制、类的存储与类型安全、哈希表的构造与查找平均长度计算,以及抽象类与构造方法的规则。此外,还涉及到了Java内存区域、构造方法的调用、异常处理、黑盒测试方法和算法效率比较等知识点。
摘要由CSDN通过智能技术生成

1、下面代码将输出什么内容:()

public class SystemUtil{
   
	public static boolean isAdmin(String userId){
   
		return userId.toLowerCase()=="admin";
	}
	public static void main(String[] args){
   
		System.out.println(isAdmin("Admin"));
	}
}

A.true
B.false
C.1
D.编译错误

我的答案: A
正确答案: B

解析: 执行 toLowerCase() 时候会新 new 一个 String 类型的引用, 存放转换成小写的字符串的地址,
"=="是比较两个字符串的地址,所以输出 false

2、可以把List< String>传递给一个接受List< Object>参数的方法

我的答案: 正确
正确答案: 错误

解析: 这种转换在父类与子类的继承关系中是可行的,但是List< Sting>和 List<
Object>在编译器看来是两种完全不同的东西

3、Java的泛型是JDK1.5引入的一个新特性,它提供了编译期的类型安全监测机制。 现定义如下程序:

public class T {}
public class A extends T{}
public class B extends A{}
public class Test {
public static void main(String[] args){
List<Class<? extends T>> list = new ArrayList<>();
}
}
请问下面选项中哪个类的class能够被存储到 list 对象中()
A.只有A.class
B.只有B.class
C.A.class和B.class
D.A.class,B.class和T.class

我的答案 : D

解析:<? extends E> 是 Upper Bound (上限)的通配符, 用来限制元素的上限. 即只能是这个E本身或者其子类

<? super
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值