首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

泛型就这么简单

把对象扔进集合中,集合是不知道元素的类型是什么的,仅仅知道是Object。因此在get()的时候,返回的是Object。...(list.get(i)); } } 上面的代码是正确的,只不过在编译的时候会出现警告,说没有确定集合元素的类型….这样是优雅的… 那我们学习了泛型了,现在要怎么做呢??...记住,只能调用对象无关的方法,不能调用对象类型有关的方法。因为直到外界使用才知道具体的类型是什么。也就是说,在上面的List集合,我是不能使用add()方法的。...原则: 如果参数之间的类型有依赖关系,或者返回值是参数之间有依赖关系的。...List list = new ArrayList(); //类型被擦除了,保留的是类型的上限,String的上限就是Object List list1

51740

SpringAOP

.*(..)) 3.书写技巧 所有代码按照标准规范开发,否则以下技巧全部失效 描述切入点通常描述接口,而描述实现类 访问控制修饰符针对接口开发均采用public描述(可省略访问控制修饰符描述) 返回类型对于增删改类使用精准类型加速匹配...,根据共性功能抽取的位置不同,最终运行代码时要将其加入到合理的位置 AOP通知共分为5种类型: 前置通知 名称:@Before 类型:方法注解 位置:通知方法定义上方 作用:设置当前通知方法切入点之间的绑定关系...ProceedingJoinPoint才能实现对原始方法的调用,进而实现原始方法调用前后同时添加通知 通知中如果未使用ProceedingJoinPoint对原始方法进行调用将跳过原始方法的执行 对原始方法的调用可以接收返回值...,通知方法设置成void即可,如果接收返回值,必须设定为Object类型 原始方法的返回值如果是void类型,通知方法的返回类型可以设置成void,也可以设置成Object 由于无法预知原始方法运行后是否会抛出异常...百度网盘密码数据兼容处理 需求:对百度网盘分享链接输入密码时尾部多输入的空格做兼容处理 分析: 在业务方法执行之前对所有的输入参数进行格式处理—trim() 使用处理后的参数调用原始方法—环绕通知中存在对原始方法的调用

16610
您找到你想要的搜索结果了吗?
是的
没有找到

MyBatis学习总结(二)——MyBatis核心配置文件输入输出映射

true | false TRUE multipleResultSetsEnabled 允许或不允许从一个单独的语句(需要兼容的驱动程序)要返回多个结果集。...兼容的驱动程序是必需的。此设置强制生成的键被使用,如果设置为true,一些驱动会兼容性,但仍然可以工作。...任何兼容的布尔值 ByteTypeHandler Byte,byte 任何兼容的数字或字节类型 ShortTypeHandler Short,short 任何兼容的数字或短整型 IntegerTypeHandler...任意 其他或未指定类型 EnumTypeHandler Enumeration类型 VARCHAR-任何兼容的字符串类型,作为代码存储(而不是索引)。...(二)、输出POJO对象和POJO列表 不管是输出的POJO单个对象还是一个列表(List中存放POJO),在mapper.xml中ResultType指定的类型是一样的,但方法返回类型不一样。

98820

MyBatis学习总结(二)——MyBatis核心配置文件输入输出映射

true | false TRUE multipleResultSetsEnabled 允许或不允许从一个单独的语句(需要兼容的驱动程序)要返回多个结果集。...兼容的驱动程序是必需的。此设置强制生成的键被使用,如果设置为true,一些驱动会兼容性,但仍然可以工作。...任何兼容的布尔值 ByteTypeHandler Byte,byte 任何兼容的数字或字节类型 ShortTypeHandler Short,short 任何兼容的数字或短整型 IntegerTypeHandler...任意 其他或未指定类型 EnumTypeHandler Enumeration类型 VARCHAR-任何兼容的字符串类型,作为代码存储(而不是索引)。...(二)、输出POJO对象和POJO列表 不管是输出的POJO单个对象还是一个列表(List中存放POJO),在mapper.xml中ResultType指定的类型是一样的,但方法返回类型不一样。

1.3K30

SpringBoot学习笔记(五)——Spring Boot中使用MyBatis进阶

true | false TRUE multipleResultSetsEnabled 允许或不允许从一个单独的语句(需要兼容的驱动程序)要返回多个结果集。...兼容的驱动程序是必需的。此设置强制生成的键被使用,如果设置为true,一些驱动会兼容性,但仍然可以工作。...  Double,double  任何兼容的数字或双精度浮点型 BigDecimalTypeHandler  BigDecimal  任何兼容的数字或十进制小数类型...类型 VARCHAR-任何兼容的字符串类型,作为代码存储(而不是索引)。...(二)、输出POJO对象和POJO列表 不管是输出的POJO单个对象还是一个列表(List中存放POJO),在mapper.xml中ResultType指定的类型是一样的,但方法返回类型不一样。

1.4K20

14. AOP配置管理

)) 返回类型对于增删改类使用精准类型加速匹配,对于查询类使用*通配快速描述返回类型对于增删改类使用精准类型加速匹配,对于查询类使用*通配快速描述 包名​书写书写尽量不使用..匹配​,效率过低,常用...$Proxy19.select(Unknown Source) at com.itheima.App.main(App.java:12) 错误大概的意思是:空的返回匹配原始方法的int返回​ void...而不是 int 的主要原因是 Object 类型更通用。...,如果接收返回值,最好设定为 Object 类型 原始方法的返回值如果是 void 类型,通知方法的返回类型可以设置成 void,也可以设置成 Object 由于无法预知原始方法运行后是否会抛出异常,...百度网盘密码数据兼容处理 5.1 需求分析 需求: 对百度网盘分享链接输入密码时尾部多输入的空格做兼容处理。 ​ ​

16110

Spring基础——了解这么多就够了!

--配置serverdao的关系--> <!...,通知方法设置成void即可,如果接收返回值,最好设定为 Object 类型原始方法的返回值如果是 void 类型,通知方法的返回类型可以设置成void,也可以设置成 Object由于无法预知原始方法运行后是否会抛出异常...,因此环绕通知方法必须要处理 Throwable 异常总结:名称@After类型方法注解位置通知方法定义上方作用设置当前通知方法切入点之间的绑定关系,当前通知方法在原始切入点方法后运行返回后通知: @...(重点)环绕通知依赖形参ProceedingJoinPoint才能实现对原始方法的调用环绕通知可以隔离原始方法的调用执行环绕通知返回值设置为Object类型环绕通知中可以对原始方法调用过程中出现的异常进行处理返回后通知抛出异常后通知通知中获取参数获取切入点方法的参数

23700

入木三分:从设计者角度看Retrofit原理

Retrofit对REST ful API的兼容做的很优秀,不符合规范直接给你报错,强行规范你的代码。...如果要替换Dao通过接口编程可提高扩展性 val dao:Dao = DaoProxy().createProxy() as Dao dao.insert() dao.update() 其中Proxy...ResponseT、ReturnT是 Retrofit 对响应数据类型返回类型的简称 创建HttpServiceMethod 上一小节我们跟到了adapter(),这是一个抽象方法,其实现类是通过HttpServiceMethod...annotations = method.getAnnotations(); Type adapterType; //1.获取adapterType,默认为method返回类型...注释4:这里会创建具体的HttpServiceMethod类型实例,总共有三种类型CallAdapted、SuspendForResponse、SuspendForBody,第一种为默认类型,后两种可兼容

1.3K20

看完这篇项目设计规约!你应该就能构建良好的工程结构了

对Service层通用能力下沉,比如缓存方案,中间件通用处理 DAO层交互,对多个DAO的组合复用 DAO层: 数据访问层,底层MySQL,Oracle,HBase等进行数据交互 外部接口或第三方平台...,加上用户容易理解的错误提示信息 开放接口层: 要将异常处理成错误码和错误信息方式返回 分层领域模型规约: DO: Data Object, 此对象数据库表结构一一对应,通过DAO层向上传输数据源对象...: Application Object, 应用对象,在Web层Service层之间抽象的复用对象模型,极为贴近展示层,复用度不高 VO: View Object, 显示层对象,通常是Web向模板渲染引擎层传输的对象...,或者架构兼容升级 次版本号: 保持相对兼容性,增加主要功能特性,影响范围极小的API兼容修改 修订号: 保持完全兼容性,修复BUG,新增次要功能特性 注意起始版本号为: 1.0.0,而不是 0.0.1...,参数可以使用枚举类型,但是接口返回值不允许使用枚举类型或者包含枚举类型的POJO对象 依赖于一个二方库群时,必须定义一个统一的版本变量,避免版本号不一致 依赖springframework-core

62010

Java泛型总结

泛型的概念 泛型(Generics),是指在类定义时指定类中信息的具体数据类型,而是暂时用一个标识符来替代,当外部实例化对象时再指定具体的数据类型。...// list.add("DD"); // list.add('?'); list.add(null); // 获取(读取):允许读取数据,读取的数据类型Object。...extends DAO {//只能操作某一个表的DAO } 实体类 public class Student { } 泛型方法 在方法中出现了泛型的结构,泛型参数类的泛型参数没有任何关系...tClass 传入的泛型实参 * @return T 返回值为T类型 * 说明: * 1)public 返回值中间非常重要,可以理解为声明此方法为泛型方法。...* 首先在public返回值之间的必不可少,这表明这是一个泛型方法,并且声明了一个泛型T * 这个T可以出现在这个泛型方法的任意位置.

82930

SpringBoot中关于Mybatis使用的三个问题

连表查询时的mapper和dao方法     3>插入数据返回主键的配置方法   第一个问题:“按主键查询时报dao类型不能转换”。   ...的兼容问题,个人觉得是tk版MybatisSpringBoot没整好的问题,且就当是一个bug吧,这里为造福广大入坑的盆友,贴出一个最简单的解决方式=> 先在项目(或模块)的resources目录下新建一个...(dao)中的代码吧=> 1 @Mapper 2 public interface P2pEyeDao { 3 //获取项目信息(标) 4 List getProject...(Map params); 5 6 //获取投标信息 7 List getOrder(Map params...由于tk用的是通用mapper来实现daoxml对应的,xml里面只用声明对应的实体表的映射参数就可以了,具体的sql实现是不用写的(这里需要通用Mapper的泛型),这时候dao就如下这么简单:

74790

SpringBoot中关于Mybatis使用的三个问题

连表查询时的mapper和dao方法     3>插入数据返回主键的配置方法   第一个问题:“按主键查询时报dao类型不能转换”。   ...的兼容问题,个人觉得是tk版MybatisSpringBoot没整好的问题,且就当是一个bug吧,这里为造福广大入坑的盆友,贴出一个最简单的解决方式=> 先在项目(或模块)的resources目录下新建一个...(dao)中的代码吧=> 1 @Mapper 2 public interface P2pEyeDao { 3 //获取项目信息(标) 4 List getProject...(Map params); 5 6 //获取投标信息 7 List getOrder(Map params...由于tk用的是通用mapper来实现daoxml对应的,xml里面只用声明对应的实体表的映射参数就可以了,具体的sql实现是不用写的(这里需要通用Mapper的泛型),这时候dao就如下这么简单:

47020

SpringBoot中关于Mybatis使用的三个问题

连表查询时的mapper和dao方法     3>插入数据返回主键的配置方法   第一个问题:“按主键查询时报dao类型不能转换”。   ...的兼容问题,个人觉得是tk版MybatisSpringBoot没整好的问题,且就当是一个bug吧,这里为造福广大入坑的盆友,贴出一个最简单的解决方式=> 先在项目(或模块)的resources目录下新建一个...(dao)中的代码吧=> 1 @Mapper 2 public interface P2pEyeDao { 3 //获取项目信息(标) 4 List getProject...(Map params); 5 6 //获取投标信息 7 List getOrder(Map params...由于tk用的是通用mapper来实现daoxml对应的,xml里面只用声明对应的实体表的映射参数就可以了,具体的sql实现是不用写的(这里需要通用Mapper的泛型),这时候dao就如下这么简单:

57950

SpringBoot中关于Mybatis使用的三个问题

连表查询时的mapper和dao方法     3>插入数据返回主键的配置方法   第一个问题:“按主键查询时报dao类型不能转换”。   ...的兼容问题,个人觉得是tk版MybatisSpringBoot没整好的问题,且就当是一个bug吧,这里为造福广大入坑的盆友,贴出一个最简单的解决方式=> 先在项目(或模块)的resources目录下新建一个...(dao)中的代码吧=> 1 @Mapper 2 public interface P2pEyeDao { 3 //获取项目信息(标) 4 List getProject...(Map params); 5 6 //获取投标信息 7 List getOrder(Map params...由于tk用的是通用mapper来实现daoxml对应的,xml里面只用声明对应的实体表的映射参数就可以了,具体的sql实现是不用写的(这里需要通用Mapper的泛型),这时候dao就如下这么简单:

51520
领券