`
easyroom
  • 浏览: 787 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

泛型小应用

阅读更多
公司里的dao给了一个抽象的实现BaseDao里面有update,insert,delete等方法,但是接受的参数都是Object。这样在调用的时候就可能把不合适的po传递进去,当然也不是什么大麻烦,运行一下就发现了。

这个小问题可以用泛形来解决。不多说,上代码

package com.tianji.jstl.dao;

public interface BaseDao<E> {
	public void insert(E entity);
}

package com.tianji.jstl.dao;

import java.util.List;

import com.tianji.jstl.dao.persistant.Border;

public interface BorderDao extends BaseDao<Border> {
	public List<Border> getBorders(int id);
}


package com.tianji.jstl.dao.impl;

import com.tianji.jstl.dao.BaseDao;

public class BaseDaoImpl<T> implements BaseDao<T> {

	@Override
	public void insert(T entity) {
		System.out.println("insert " + entity.toString());
	}

}

package com.tianji.jstl.dao.impl;



import java.util.List;



import com.tianji.jstl.dao.BorderDao;

import com.tianji.jstl.dao.persistant.Border;



public class BorderDaoImpl extends BaseDaoImpl<Border> implements BorderDao {



	@Override

	public List<Border> getBorders(int id) {

		System.out.println("getBorders " + id);

		return null;

	}



}



package com.tianji.jstl.dao.impl.demo;

import com.tianji.jstl.dao.BorderDao;
import com.tianji.jstl.dao.impl.BorderDaoImpl;
import com.tianji.jstl.dao.persistant.Border;

public class Sample1 {
	public static void main(String args[]){
		BorderDao borderDao = new BorderDaoImpl();
		//这里insert是只接受Border类型的
		borderDao.insert(new Border());
		borderDao.getBorders(100);
	}

}
分享到:
评论

相关推荐

    泛型集合应用(dictionary<obj,obj>)

    本文将深入探讨“泛型集合应用——Dictionary, Obj&gt;”这一主题,揭示其在实际开发中的广泛应用。 首先,我们来了解什么是泛型。泛型是.NET框架的一个核心特性,它允许我们在编写代码时定义类型参数,这些参数可以在...

    java泛型的应用

    在Java中,泛型主要应用于集合框架,如ArrayList、LinkedList、HashMap等。在使用泛型前,集合可以存储任何类型的对象,但在访问集合元素时,需要手动进行类型转换,这可能导致运行时错误,如ClassCastException。而...

    Java泛型应用实例

    在Java泛型应用实例中,我们可以看到泛型如何帮助我们提高代码的灵活性和效率,减少运行时的类型检查和强制转换。 首先,让我们理解泛型的基本概念。泛型主要由两部分组成:类型参数和类型边界。类型参数是在类或...

    c# 泛型、集合应用实例源码

    在.NET框架中,泛型广泛应用于各种集合类,如List、Dictionary, TValue&gt;等。泛型的优势在于,它们可以避免不必要的装箱和拆箱操作,减少类型转换的开销,并确保编译时类型检查的安全性。 **集合** 集合是一组对象的...

    枚举和泛型的应用举例

    泛型的应用非常广泛,如集合框架(List、Set、Map等)、工厂模式、装饰器模式等。在集合框架中,泛型可以确保插入和取出的元素类型与集合声明的类型一致,防止了ClassCastException的发生。 枚举与泛型的结合也是...

    泛型实际应用(简介)

    ### 泛型实际应用简介 #### 一、泛型概念及优势 在计算机科学领域,尤其是面向对象编程中,泛型是一种重要的编程技术,它允许程序员编写类型安全且灵活的代码,这种代码能够处理多种数据类型,同时保持类型检查的...

    c# 泛型应用实例

    下面将详细介绍C#泛型的应用实例。 1. **泛型类**:泛型类是在定义时未指定类型的类,如`List&lt;T&gt;`。`T`被称为类型参数,代表一个未知的类型。例如,我们可以创建一个名为`MyGenericClass&lt;T&gt;`的泛型类,其中`T`可以...

    C++f 泛型编程应用实例

    本篇将深入探讨C++泛型编程的应用实例,帮助初学者领略其魅力。 首先,我们来看“标准模板库自修教程与参考手册 STL进行C++编程.jpg”。标准模板库(STL)是C++泛型编程的核心组成部分,它包含了一系列容器(如...

    C__泛型的运用

    ### C# 泛型的应用详解 #### 一、泛型的概念 在C#中,泛型是一种能够编写灵活且类型安全代码的强大工具。通过使用泛型,开发人员可以在不牺牲性能的情况下实现代码重用。简单来说,泛型允许开发者创建可以处理多种...

    浅谈c# 泛型类的应用

    1. **泛型类的基本应用** 泛型类的核心在于类型参数,这使得类能够独立于具体的类型工作。例如,`List&lt;T&gt;`就是一个泛型类,它可以用来存储任何类型的对象,如整数、字符串或自定义类。泛型类使得开发者能够在不牺牲...

    Java源代码带两个类型参数的泛型的应用.rar

    以下是对这种泛型应用的详细说明: **1. 泛型基本概念** 泛型是Java SE 5.0引入的新特性,它的主要目的是在编译时检查类型安全,并且所有的强制转换都是自动和隐式的,提高了代码的重用率。泛型的基本形式是在类、...

    Python中泛型函数应用案例.pdf

    最后,由于文档内容是通过OCR扫描得到的,存在一些文字识别错误和漏识,这在实际应用中可能会导致理解上的困难,因此在使用这些信息时需要结合其他资料和技术知识来确保信息的准确性。通过深入理解文档内容,开发者...

    Cpp设计新思维_泛型编程与设计模式之应用

    《Cpp设计新思维_泛型编程与设计模式之应用》这本书深入探讨了C++编程中的泛型编程和设计模式的应用,对于提升C++开发者的技术水平具有极高的价值。以下是本书涉及的一些关键知识点: 1. 泛型编程:泛型编程是C++中...

    泛型集合泛型集合泛型集合

    泛型最常见的应用是创建泛型集合类,如`List&lt;T&gt;`。在C#中,`System.Collections.Generic`命名空间提供了多个泛型集合类,如`List&lt;T&gt;`、`Dictionary, TValue&gt;`等,它们替代了早期的非泛型集合,如`ArrayList`和`...

    C#泛型类、泛型方法、泛型接口、泛型委托的实例

    本文将深入探讨泛型类、泛型方法、泛型接口和泛型委托,并通过实例来阐述它们的应用。 首先,我们来看泛型类。泛型类是具有一个或多个类型参数的类。类型参数是在定义类时使用的占位符,实际的类型在创建类的实例时...

    WCF中应用泛型

    #### 二、目标:WCF服务中的泛型应用 本章节的目标是在WCF服务契约的操作契约中应用泛型,以实现类似于下面的效果: ```csharp [OperationContract] TMethodName(int dataType) where T : EntityBase; ``` 或者 ...

    Delphi中的泛型基础及简单应用

    Delphi中的泛型基础及简单应用

    高级无敌,c#泛型例子

    在"高级无敌,c#泛型例子"这个主题中,我们将深入探讨C#泛型的基本概念、优势以及如何实际应用。 首先,泛型是C#中引入的一种类型参数化机制。在定义类或方法时,我们可以使用类型参数(如`T`)来代替具体的类型,...

    拼图 智力 智力拼图 C# C#源码 源码 泛型集合应用

    本文将深入探讨“智力拼图”这一主题,以及如何利用C#的源码和泛型集合来实现这样的应用程序。 智力拼图,通常指的是通过重组碎片以形成完整图像的益智游戏。在编程世界中,我们可以创建一个数字或图像拼图的模拟...

    Python中泛型函数应用案例.zip

    下面将深入探讨Python中泛型函数的应用案例。 首先,Python的类型注解是自Python 3.5版本引入的特性,它允许我们在函数定义时添加类型提示,以帮助编译器、IDE和开发者理解函数期望的输入和输出类型。例如,一个...

Global site tag (gtag.js) - Google Analytics