博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
每天几条java题(2)
阅读量:6323 次
发布时间:2019-06-22

本文共 2239 字,大约阅读时间需要 7 分钟。

 Question: 6

Given:

1. import java.util.*;
2. public class Old {
3. public static Object get0(List list) {
4. return list.get(0);
5. }
6. }
Which three will compile successfully? (Choose three.)
A. Object o = Old.get0(new LinkedList());
B. Object o = Old.get0(new LinkedList<?>());
C. String s = Old.get0(new LinkedList<String>());
D. Object o = Old.get0(new LinkedList<Object>());
E. String s = (String)Old.get0(new LinkedList<String>());
Answer: A, D, E

题目分析:

C没有强制转换。

?是不确定类的时候用,但是不确定是只在子类型父类型里面应用,例如list<? Extends X>,那么这里就可以是X或者其子类,list的泛型实际类型就是初始化时候的那个类型。

范例代码(来源于网上)

import  java.util.ArrayList;

import  java.util.List;

 

class  Parent  {

      //  your code

     }

class  Child  extends  Parent {

//  your code

}

public   class  test  {

        // 这里更改一下,利用问号解决问题  

     public   static   void  doTest(List <?   extends  Parent >  list) {

       

   }

     public   static   void  main(String[] args) {

       List < Parent >  parentList  =   new  ArrayList < Parent > ();

       List < Child >  childList  =   new  ArrayList < Child > ();

       doTest(parentList);

        // 注意这里编译正确        

         doTest(childList);    }

}

 

Question: 7
Given:
1. import java.util.*;
2. public class Example {
3. public static void main(String[] args) {
4. // insert code here
5. set.add(new Integer(2));
6. set.add(new Integer(1));
7. System.out.println(set);
8. }
9. }
Which code, inserted at line 4, guarantees that this program will output [1, 2]?
A. Set set = new TreeSet();
B. Set set = new HashSet();
C. Set set = new SortedSet();
D. List set = new SortedList();
E. Set set = new LinkedHashSet();
Answer: A

题解:

首先不用想A肯定是对的,sortedset,之前也说过,接口。还有java是没有sortedlist的,你要用collection.sort来排序,为啥这样设计??Stackoverflow上面有人问过。

Linkedhashset跟插入顺序有关,错。

至于Hashset,我也不懂,但是把代码写过去,hashset是输出[1,2]的。

个人认为答案为A,B,特意在stackoverflow上面找到这么一段东西:

A hashcode is an integer value that represents the state of the object upon which it was called. That is why an Integer that is set to 1 will return a hashcode of "1" because an Integer's hashcode and its value are the same thing. A character's hashcode is equal to it's ASCII character code. If you write a custom type you are responsible for creating a good hashCode implementation that will best represent the state of the current instance.

然后引申出一个新的问题:hashset是真的无序的么?至少,对于Integer来说它不是无序的。

转载于:https://www.cnblogs.com/m1s4nthr0pezy/p/3673536.html

你可能感兴趣的文章
win7系统设置电脑不待机状态的操作方法
查看>>
手把手教你如何使用驰骋工作流程引擎的表单设计器做数据提交前的表单验证...
查看>>
nginx php 超过4M文件上传失败,uploadify i/o error解决。
查看>>
nginx+php安装配置
查看>>
LAMP+Centos6.5上安装zabbix
查看>>
android判断网络连接状态的三种方法
查看>>
ZOJ Monthly, March 2013 解题报告
查看>>
LaTex表格 Itemize&&enumerate
查看>>
Spring Boot中@OneToMany与@ManyToOne几个需要注意的问题
查看>>
文件传输协议之FTP
查看>>
Openstack 安装部署指南翻译系列 之 Glance服务安装(Image)
查看>>
Java 使用POI实现execl的导入导出数据实践
查看>>
Unity3D游戏开发之伤害数值显示
查看>>
如何在Linux上搭建一个基于Web的轻型监控系统
查看>>
linux基础命令使用
查看>>
zabbix简单检测
查看>>
other模块的网络请求业务封装工具类
查看>>
Windows进程崩溃问题定位方法
查看>>
程序员如何让自己 Be Cloud Native - 配置篇
查看>>
SQL Server各个版本之间的差异
查看>>