Java范型的两种写法

1、原始的DAO层的类:

package com.test;

public class UserDao {
   
    public void add(User user){
        //.保存实体的代码
    }
   
    public User get(int id) {
        //.查询实体的代码
        return null;
    }

}

其中,User类代码比较简单,如下:

package com.test;

public class User {
   
    private int id;
    private String name;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
   
}

2、我们将Dao层的类写成范型的形式,有两种写法:

其一、

package com.test;

public class EntityDao1 {
   
    public <T> void add(T t){
        //查询实体的代码
    }
   
    public <T,ID> T get(ID id){
        //.保存实体的代码
        return null;
    }

}

时间: 2024-08-04 02:44:47

Java范型的两种写法的相关文章

Java范型知识

我相信很多人跟我一样还未学习过范型的概念就开始使用范型的实例,最典型的就是集合框架.为了 进一步深入了解范型,这一次通过几个简单的例子来说明范型的注意事项. 一.没有范型的世界 所有的java类都派生自java.lang.Object ,这意味着所有的java对象都可以转换成Object,听起来似乎 很美妙,但事实并非如此.举个例子,假设现在需要一伙人去排队,要求只有学生可以参与进来,但是如 果对于这个队伍没有条件限定的话,那就意味着我们不想要的一些群体也会进入大军之中,这不利于管理 .再如下面

select-link中这样两种写法有什么区别?

问题描述 link中这样两种写法有什么区别? var query = from x in table select x; foreach (var item in x) { ... } foreach (var item in table) { ... } 解决方案 两种写法一样,而且性能也一样

状态机的两种写法

有限状态机FSM思想广泛应用于硬件控制电路设计,也是软件上常用的一种处理方法(软 件上称为FMM--有限消息机).它把复杂的控制逻辑分解成有限个稳定状态,在每个状态 上判断事件,变连续处理为离散数字处理,符合计算机的工作特点.同时,因为有限状 态机具有有限个状态,所以可以在实际的工程上实现.但这并不意味着其只能进行有限 次的处理,相反,有限状态机是闭环系统,有限无穷,可以用有限的状态,处理无穷的 事务.     有限状态机的工作原理如图1所示,发生事件(event)后,根据当前状态(cur_st

位图-下面两种写法的区别,为什么第一种会报错?

问题描述 下面两种写法的区别,为什么第一种会报错? 第一种 BitmapFactory.decodeStream(conn.getInputStream()); 第二种 InputStream is = conn.getInputStream(); bitmap = BitmapFactory.decodeStream(is); 解决方案 没有看出有什么不同,InputStream is = conn.getInputStream(); bitmap = BitmapFactory.decode

ios-下面两种写法的区别是什么

问题描述 下面两种写法的区别是什么 @interface XXX () @property (strong nonatomic) UITableView *tableView;@end@implementation XXX - (void)viewDidLoad { self.tableView = [[UITableView alloc]initWithFrame:self.view.bounds]; //vs 这两种写法的区别是什么? 有什么好处? UITableView *tbView =

java-这两种写法有什么差别???请大家帮忙看一看

问题描述 这两种写法有什么差别???请大家帮忙看一看 public void getBenjin() { if (null != benjin.getText()) { benjinD = Double.parseDouble(benjin.getText().toString()); } } public void getLilv() { if (null != lilv.getText()) { lilvD = Double.parseDouble(lilv.getText().toStri

C# 浮点数强制转换为整数,两种写法结果不一样

问题描述 floata=70.075f;intbb=(int)(a*1000);floatc=a*1000;intcc=(int)c;上面的代码按理说得到的cc和bb应该一样,但实际上bb的结果为70074,cc结果是70075.很疑惑这两种写法上有什么区别,为什么会导致这样的问题?请大神分析一下. 解决方案 解决方案二:都75啊楼主你电脑坏了吧解决方案三:framework4.0刚刚测试,结果都是70075解决方案四:引用1楼shingoscar的回复: 都75啊楼主你电脑坏了吧 解决方案五:

link以下两种写法结果一样,有什么区别?

问题描述 link以下两种写法结果一样,有什么区别? 写法1: scores.GroupBy(x=>x.StuID).OrderBy(x =>x.Sum()).ThenBy(x => x.Key) 写法2: scores.GroupBy(x=>x.StuID).OrderBy(x =>x.Key).OrderBy(x=>x.Sum()) 解决方案 写法2不推荐,理论上这个结果和写法1一样,但是基于这样一个假设,那就是OrderBy执行的是稳定的排序. 所谓稳定的排序,就

ios-(IOS)这两种写法有什么区别???

问题描述 (IOS)这两种写法有什么区别??? 两种写法有一种运行后加载不了数据...第一种:-(NSArray *)messageFrames{ if (_messageFrames == nil) { NSArray *messages = [Message messagesList]; NSMutableArray *temArray =[NSMutableArray array]; for (Message *msg in messages) { MessageFrame *msgfra