泛型

Repository(资源库)模式

烂漫一生 提交于 2019-12-24 14:06:32
Repository(资源库) 协调领域和数据映射层,利用类似于集合的接口来访问领域对象 定义(来自Martin Fowler的《企业应用 架构 模式》): Mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects. 个人理解:Repository是一个独立的层,介于领域层与数据映射层(数据访问层)之间。它的存在让领域层感觉不到数据访问层的存在,它提供一个类似集合的接口提供给领域层进行领域对象的访问。Repository是仓库管理员,领域层需要什么东西只需告诉仓库管理员,由仓库管理员把东西拿给它,并不需要知道东西实际放在哪。 tabbycat 的理解( 来源 ): 1. Repository模式是架构模式,在设计架构时,才有参考价值; 2. Repository模式主要是封装数据查询和存储逻辑; 3. Repository模式实际用途:更换、升级ORM引擎,不影响业务逻辑; 4. Repository模式能提高测试效率,单元测试时,用Mock对象代替实际的 数据库 存取,可以成倍地提高测试用例运行速度。 评估:应用Repository模式所带来的好处,远高于实现这个模式所增加的代码。只要项目分层

Java 泛型作为方法参数

蓝咒 提交于 2019-12-24 05:41:49
Java 泛型作为方法参数 例程源码: import java.util.List; public class GoodsSeller { public void sellGoods(List<? extends Goods> goods){ //调用集合中的sell方法 for(Goods g:goods){ g.sell(); } } } public class Book extends Goods { @Override public void sell() { System.out.println("sell books"); } } public class GoodsTest { public static void main(String[] args) { //定义book相关的List List<Book> books=new ArrayList<Book>(); books.add(new Book()); books.add(new Book()); //定义chothes相关的List List<Clothes> clothes=new ArrayList<Clothes>(); clothes.add(new Clothes()); clothes.add(new Clothes()); //定义shoes相关的List List<Shoes>

JAVA单排日记-2019/12/23-2-泛型

巧了我就是萌 提交于 2019-12-23 21:44:26
定义 泛型 :未知的数据类型,不知道使用什么数据类型时可以使用泛型;也可以将泛型看成是一个变量,用来接收数据类型 使用 1.定义含有泛型的类 定义一个类,其中的数据类型全用泛型 普通的类: public class GenericClass { public String a ; public String getA ( ) { return a ; } public void setA ( String a ) { this . a = a ; } } public class DemoGeneric { public static void main ( String [ ] args ) { GenericClass gen = new GenericClass ( ) ; gen . setA ( "只能是字符串" ) ; System . out . println ( gen . getA ( ) ) ; } } 含有泛型的类: public class EClass < E > { public E a ; public E getA ( ) { return a ; } public void setA ( E a ) { this . a = a ; } } public class DemoEClass { public static void main (

泛型:

别说谁变了你拦得住时间么 提交于 2019-12-23 20:56:03
泛型: 1.字符串+数字 就是字符串和后面的数字得数相连 2.数字+字符串 就是数字得数与字符串相连 3.stringbuffer 字符串反转 4.srtring str=sc.next();空格作为结束符 5. srtring str2=sc.nextline(); 回车作为结束符 6.round () 随机数 Abs() 绝对值 Sqrt() 平方根 Pow() 幂值 7.Data data =new Data(); Boolean afer (Data when) //判断日期是否在指定日期之后 Boolean before (Data when) //判断日期是否在指定日期之前 Simple Data Format format=new simpleData Format(“yyyy-MM-dd HH:mm:ss E”); String tet=forma.format(data) System.out.prinln(text) } } 来源: CSDN 作者: 郭赛男 链接: https://blog.csdn.net/weixin_45805276/article/details/103671895

重新认识C#: 玩转指针

Deadly 提交于 2019-12-23 04:45:12
许多文章并不鼓励在C#下使用指针开发,不过,本文偏偏要这样做。在大量尝试C#下使用指针开发之后,你会对C#有更深的认识。 在说C#下的指针之前,需要提一下C++/CLI。C++/CLI 我们可以把它看作两部分:Native C++和 Managed C++,两者可以无缝结合。对C#,我们也可以把它看作两部分:Managed C# 和 Unmanaged C#。Managed C# 和 Unmanaged C# 是我杜撰的两个词,前者就是我们通常的C#,后者就是使用指针、Struct和非托管内存的C#。事实证明,Unmanaged C#也可以玩的十分优雅——它具有C语言的大部分特性,却比C语言好用的多。 C# 与 C++/CLI之间的对应关系见下图: C++/CLI默认是 Native C++,而C# 默认是 Unmanaged C# 。除了不能内嵌汇编以及编译方式不同之外,C++/CLI和C#两者在层面上几乎是等价的。其中,C++/CLI略微偏底层一点,C#略微偏高层一点。尽管略微偏高层一点,C#仍然可以当成准系统语言来玩。你可以将Unmanaged C# 当作 mini c 来玩,区别只是,C 语言一般是编译执行的,而 Unmanaged C# 是先编译成 IL ,再使用Ngen编译成机器码或在运行时编译成机器码执行。 在C#下不鼓励使用指针,这是因为C#的定位是应用级的开发

java泛型的好处

天大地大妈咪最大 提交于 2019-12-22 21:25:11
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> java 泛型是 java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 泛型的好处 java 语言中引入泛型是一个较大的功能增强。不仅语言、类型系统和编译器有了较大的变化,以支持泛型,而且类库也进行了大翻修,所以许多重要的类,比如集合框架,都已经成为泛型化的了。 这带来了很多好处: 1,类型安全。 泛型的主要目标是提高 Java 程序的类型安全。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设。没有泛型,这些假设就只存在于程序员的头脑中(或者如果幸运的话,还存在于代码注释中)。 2,消除强制类型转换。 泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。 3,潜在的性能收益。 泛型为较大的优化带来可能。在泛型的初始实现中,编译器将强制类型转换(没有泛型的话,程序员会指定这些强制类型转换)插入生成的字节码中。但是更多类型信息可用于编译器这一事实,为未来版本的 JVM 的优化带来可能。由于泛型的实现方式,支持泛型(几乎)不需要 JVM 或类文件更改。所有工作都在编译器中完成,编译器生成类似于没有泛型(和强制类型转换

scala

余生颓废 提交于 2019-12-22 20:55:22
Scala 多范式编程语言 运行流程 类Java,先用scalac编译为.class字节码文件,然后再用scala执行出结果,也可用Scala直接运行,不会产生字节码文件,Scala也是依靠jvm来进行编译的 main入口函数 Scala为了简化编程过程,main入口函数和Java的入口函数类似,Scala中是以object伴生对象来代替class,Scala中的所有都是public的,所以不用再次声明public,Scala中用def模拟静态语法,Scala中注重完全面向对象,所以是先声明参数名,再定义参数类型:参数名:参数类型。Java中的定义参数为:参数类型:参数名,返回值类型用unit代替void,用=连接方法体 def Main (参数名:参数类型(可省略)):unit = {方法体} Scala中的变量 可以用val或var定义,var的值可变,val的值不可变(不可变是因为用final定义的字符串是存放的地址不可变,但是内容可变,用反射可以绕过编译流程,改变字符串内容,大多数情况下Scala中的变量用val定义) Scala中类型 Scala中的函数类型可以省略,因为Scala是强类型转换,所以定义的类型是不可变的,Scala中不存在基本类型,但是Scala中分为值类型和引用类型,Scala中的值类型和Java中的基本类型用法是相同的且均有8个

scala高阶函数

廉价感情. 提交于 2019-12-22 19:58:49
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 模式匹配  模式匹配  样例类  封闭类  偏函数 it-auto; text-indent: 0px; text-transf 模式匹配  模式匹配是数据结构上的概念  val hi=Array("hi","hello","world")  hi match{  case Array(“hi”, _*) => println(“Ok”)  case Array("hi","world",_) => println("Wrong")  case _ => println(“None") }  数据结构包括各种集合,类,函数等  通配符 “ _”表示任意,“ _*”则表示任意长度, 模式匹配  类型匹配  def getType(a:Any){  a match{  case _ :Array[Char] => println("Array[Char]")  case _ :Int => println("Int")  case _ :Char => println("Char")  case _ => println(“Error")  } }  注意:泛型的类型匹配要注意如List[String]、 Map[Char,Int]等不会成功匹配,如 List[Int

美女金牌讲师小班精品课程:Java泛型与反射机制

天大地大妈咪最大 提交于 2019-12-22 19:10:25
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 摒弃千篇一律的培训班,精品小班授课; 金牌讲师1对5扎实教学,理论实操结合; 快速掌握Java泛型与反射机制的原理与应用。 为保证课程质量,本次课程报名满5人即截止; 课程费用300元,5名学员AA制, 60元即可享受金牌讲师120分钟倾囊相授! |授课内容| Java泛型简介; Java泛型规则和限制; Java泛型类语法; Java泛型之有界类型; Java泛型之通配符泛型; Java泛型之泛型方法 Java反射机制简介 Java Reflection API Java代理模式 Java 静态代理、动态代理 |授课讲师| 郭园园 软通动力金牌讲师,10年+软件开发、设计及项目管理经验。 |授课地点| 天津市大学软件学院D519 |授课时间| 2016年4月2日(本周六)14:00—16:00 报名地址:http://www.huodongxing.com/event/2328285352300 来源: oschina 链接: https://my.oschina.net/u/2394328/blog/649770

泛型

若如初见. 提交于 2019-12-22 18:57:15
泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型 来源: CSDN 作者: MikeAcesse 链接: https://blog.csdn.net/fanzhikangkang/article/details/103654147