自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Kotlin 泛型的使用

关键字用于泛型函数中,用于获取泛型类型的实际类型。在普通的泛型函数中,由于类型擦除的原因,无法在运行时获取泛型类型的实际类型。关键字可以在编译时将泛型类型实际化,并在运行时获取泛型类型的实际类型。关键字可以用于获取泛型类型的实际类型。关键字可以用于判断泛型类型的实际类型。关键字可以用于内联函数和非内联函数。类型作为泛型参数,最终输出结果为。关键字只能用于泛型函数中。关键字来获取泛型类型。在 Kotlin 中,

2023-04-18 15:45:15 685

原创 Java Optional 类的使用

Java中的Optional类是一个容器对象,它可以包含某个类型的对象或者仅仅是null。使用Optional类可以避免NullPointerException异常。

2023-04-18 14:56:28 903

原创 Kotlin 1.7.0 的新特性

在1.7.0版本之前,Opt-in特性本身需要使用参数-opt-in=kotlin.RequiresOptIn来避免警告。然而,您仍然可以使用编译器参数-opt-in来选择其他注释进行Opt-in,针对整个模块。从1.7.0开始,如果常规类型推断在没有指定-Xenable-builder-inference编译器选项(在1.6.0中引入)的情况下无法获得关于类型的足够信息,则构建器推断将自动激活。从1.7.0版本开始,Kotlin的Opt-in需求已经稳定,并且不需要额外的编译器配置。

2023-04-18 14:47:09 975

原创 Kotlin 1.6.0 的新特性

可以在builder lambda中调用返回尚未推断类型实例的函数,而无需指定1.5.30中引入的-Xunrestricted-builder-inference编译器选项。Kotlin 1.5.30引入了对递归泛型类型的类型推断的改进,使其仅基于对应类型参数的上界即可推断类型参数。使用-Xenable-builder-inference,如果常规类型推断无法获取关于类型的足够信息,则builder推断将自动激活。为了确保平滑的迁移,Kotlin 1.6.0 会对枚举、密封类或布尔类型的主题的非详尽的。

2023-04-17 18:40:49 1389

原创 Kotlin 1.5.0 的新特性

Kotlin接口现在可以使用密封修饰符,它在接口上的工作方式与在类上的工作方式相同:在编译时已知密封接口的所有实现。现在,密封类可以在同一编译单元和同一包中的所有文件中拥有子类。要在Java代码中使用Kotlin类作为记录,请将其作为数据类并使用@JvmRecord注释进行标记。直接的子类可以是顶层类,也可以嵌套在任意数量的其他命名类、命名接口或命名对象中。在Kotlin代码中,您可以像使用带有属性的典型类一样使用Java记录类。密封类的子类必须有一个正确限定的名称——它们不能是本地的或匿名的对象。

2023-04-17 17:59:50 381

原创 java 记录类

类用于表示一组固定的数据字段,并且具有自动生成的构造函数、访问器方法和其他标准方法,这些方法可以在类定义中自动推导出来,从而简化了Java程序员的编码过程。类的引入使得Java程序员可以更轻松地定义和使用数据对象,从而提高了代码的可读性和可维护性。类是不可变的,因此它的字段必须在构造函数中进行初始化,并且不能在实例化后被修改。类是一个不可变的类,它的字段在实例化后就不能被修改。类的方法通常是简单的访问器方法,而不是复杂的行为方法。是一个新的类类型,它是在Java 14版本中引入的。

2023-04-17 17:25:20 373

原创 kotlin 中双冒号 :: 的用法

::操作符只能用于引用已存在的函数、属性或构造函数,不能用于创建新的函数或属性。

2023-04-17 17:22:08 3177

转载 Kotlin 中 Lambda的使用 四、内联函数 inline

一、内联函数用关键词inline修饰的函数,称为内联函数。inline修饰的是用函数作为参数的高阶函数,如果修饰普通函数为警告 Expected performance impact from inlining is insignificant. Inlining works best for functions with parameters of functional types,普通函数内联对性能的影响微不足道。二、用inline修饰高阶函数的好处我们在k...

2021-08-11 18:28:41 540

原创 Kotlin 中 Lambda的使用 三、SAM转换 (Single Abstract Method Conversions)

一、函数式接口 只定义了一个抽象方法的接口称为函数式接口(SAM接口)。函数式接口可以有多个非抽象方法,但只能有一个抽象方法。比如:java中public interface OnClickListener { void onClick(View v); } kotlin中(kotlin 1.4 之前不支持函数式接口,1.4之后才支持):通过关键词 fun 声明@FunctionalInterface fun interface OnC...

2021-08-10 17:54:33 547

原创 Kotlin 中 Lambda的使用 二、函数类型和实例化

一、函数类型 在之前我们用到的lambda的语法中val sum: (Int, Int) -> Int = {x: Int, y: Int -> x + y},(Int, Int) -> Int 为函数类型,参数和返回值用 -> 分割开,参数的个数可以是0个或者多个,返回值为空时不可以省略。表示方法可以分为三类。1.由一个()括起来的参数列表和用->分割的返回类型() -> Unit //无参,无返回值的函数类型(T) -&g...

2021-08-09 23:10:25 777

原创 Kotlin 中 Lambda的使用 一、入门 集合的函数式API中Lambda表达式的使用

很多高级编程语言很早就支持Lambda编程,java从JDK1.8开始支持Lambda编程语法,而kotlin从第一版开始就支持Lambda编程。本章从集合的函数式API的使用做的Kotlin中Lambda入门。

2021-08-08 23:27:39 1124 2

原创 移动端对html input标签文件选择支持

一、H5如何使用input标签 H5使用 input标签做文件选择样例如下: <!-- 1 --> <input type="file" /> <!-- 2 --> <input type="file" accept="image/*" /> <!-...

2020-03-18 21:02:42 1314

原创 Program type already present: com.android.volley.Cache$Entry

Clean Project

2019-11-21 17:54:31 744 2

原创 Android 解决环信修改群组头像之后会话列表群名称没有变化的问题

会话列表群名称每次都从环信服务器获取 更新完群名称后从服务器更新下本地数据 new Thread(new Runnable() { public void run() { try { ...

2019-11-05 19:11:55 553 1

原创 Android 环信聊天历史记录搜索分组展示

最近开发IM,用到了环信,其中一个功能未聊天记录搜索功能,先上图1、好友和群聊搜索适合自己的服务器交互的不涉及环信2、聊天记录搜索列表聊天搜索结果列表是以会话列表分组的所以首先获取聊天的所有会话列表,环信提供了获取所有会话列表的方法 protected List<EMConversation> loadConversationList() { /...

2019-11-05 18:49:49 885 3

原创 android studio 升级到 3.5.0,遇到的问题和解决方案

一直忙于开发as一直没有升级,这几天有时间正好as发布新版本3.5.0,把as升级的到3.5.0也遇到一系列问题,在这里发问题分享一下,大家可以借鉴一下。1、依赖包的引用问题(1)compile 不推荐使用 ,api 是和compile完全等效的,怕出问题的话可以用api替换,表示其他的模块也可以引用。如果确定只在本模块中引用可以用 implementation替换,mod...

2019-09-21 11:41:12 12171

原创 HashMap初始化时为什么建议使用HashMap(int initialCapacity)指定集合大小

首先设置一个合理的初始化容量可以提高HashMap的性能 在当我们对HashMap初始化没设置初始化容量时,系统会默认创建一个容量为16的大小的集合。若我们的所需的集合很小则会造成内存浪费,而当HashMap的容量值超过了临界值(threshold)时HashMap将会重新扩容的下一个2的指数幂(16->32)。HashMap扩容将会重新创建hash表降低性能。如何设置一...

2019-06-20 12:01:45 12085 2

原创 Java 比较器Comparable和Comparator的使用和区别

1、Comparable和Comparator介绍 在java中Intege,Double等基本数据类型和Sting都实现了Comparable接口,不用我们在自己去实现。对于类的比较,需要我们定义比较用到的字段比较逻辑。Comparable是内部比较器需要在类内部实现,Comparator是外部比较器生成比较器对象。2、使用(1)类实现Comparable接口重写comp...

2019-06-18 17:16:52 385

原创 android studio .9图片介绍

在开发中.9图片我们会时常使用到,下面介绍下.9图片的四条线android studiod图形化界面很直观就用它来说明下上和左的黑线标识的是被拉伸的区域,右和下标识的是显示内容的区域。...

2019-04-12 11:15:16 248

原创 第三方库引用冲突的问题

之前在做即时通讯的时候用的即时通讯云环信,在引用环信easeUI的使用出现的包引用冲突的问题。原因1、easeui引用的libs和主项目中引用相同的jar包因为如果删除摸个jar包的话代码的改动比较大,所以在类库的buile.gradle中使用provided fileTree(include: ['*.jar'], dir: 'libs')使用provided只允许在...

2019-04-12 10:48:47 1269

原创 GradientDrawable 的静态使用和动态用法

1、GradientDrawable 的静态使用项目中我们常用的是GradientDrawable 的静态使用即在xml中使用shape标签定义,这也是我们常用的<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"&...

2019-04-12 09:37:51 485

转载 开发规范

原地址https://blog.csdn.net/ljheee/article/details/791884961、命名严禁使用拼音与英文混合的方式。2、领域模型命名规约1) 数据对象: xxxDO, xxx 即为数据表名。2) 数据传输对象: xxxDTO, xxx 为业务领域相关的名称。3) 展示对象: xxxVO, xxx 一般为网页名称。4) POJO 是 DO/DTO/BO/VO 的统称...

2018-05-18 15:39:36 249

原创 xmlns:tools="http://schemas.android.com/tools" Tools Attributes 视图预览

查看布局文件的预览效果,在app运行时将不会显示。避免了在网络加载完成之前展示我们在布局中设置的测试数据的问题。使用方式:sample data以TextVie为例tools:text="话述" 或者使用系统提供的一些预览数据:tools:text="@tools:sample/last_names"这样只会在预览时展示打包运行的app将不会展示。在as 3.0中我们还可以创建自己的sample ...

2018-05-16 15:43:09 1194

原创 关于android app启动页白屏黑屏和华为手机启动页图片跳跃闪屏的问题

1、产生原因           关于点击app图标出现白屏和黑屏的产生原因,首先要说的就是app的启动模式:冷启动(cold start),暖启动(warm start),热启动(lukewarm start)。冷启动:是指进程从无到有的过程。因为要进行页面初始化,所以相对其他两个启动方式,消耗的时间是相对比较多的。热启动:是指之前的进程还在,在之前进程的基础上创建 Activity 的过程。 ...

2018-04-12 17:16:09 3405

原创 关于Scrollview.scrollTo()不生效的问题

项目中遇到的需求是界面打开时scrollview滚动到上次选中的位置,结果在调用Scrollview.scrollTo()时代码不生效。查看Scrollview源码发现在创建时有自己的动画。@Override protected void onLayout(boolean changed, int l, int t, int r, int b) { super.onLayo...

2018-03-27 15:05:27 8390

原创 android点击app图标没有反应过几秒才弹出app界面

造成这种现象的原因是:搭建app开发框架的时候为了解决app启动白屏的问题,为LAUNCHER Activity 设置Theme时设置了一个透明背景,随着app越来越大启动时间变长才造成了点击app图标没有反应过几秒才弹出app界面的现象。卡顿的theme &lt;style name="StartTheme" parent="Theme.AppCompat.Light.NoActionBar"&...

2018-03-27 09:55:08 6842 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除