使用在科特林:

在构造函数中的默认值仅服用时该构造的特定参数不传递到它在所有。那意味着它是为了实现各种组合的参数化构造函数。 例如,

data class Bird (val name: String = "peacock", val gender: String = "male")

如鸟(),波导( “鸽子”)或鸟(性别= “女性”)一起使用时取缺省值。

所以要解决你的问题,你必须添加?在类别参数旁边。 这样,

data class Project(val code: String,

val name: String,

val categories: List?)

并且不需要emptyList()默认值。 当你使用的emptyList在你的问题,你必须检查null并省略该参数是这样

val project = if(categories == null)

{

Project(code,name)

}

else

{

Project(code,name,categories)

}

,在另一个科特林类使用该数据类时。

在Java中使用:

但是如果你想为科特林使用下一些方法支持此默认参数为@Hotkey说,这是默认不支持,在任何Java类使用此数据类,然后引擎盖。

所以,使其与Java类兼容你必须添加@JvmOverloads注解,但是并不像@Hotkey说有注解这样

data class Project @JvmOverloads constructor(val code: String,

val name: String,

val categories: List? = emptyList())

java 默认参数 实例化_如何使用Kotlin中的默认构造函数参数值实例化对象?相关推荐

  1. eclipse java启动参数设置_[Java教程]eclipse.ini配置eclipse的启动参数

    [Java教程]eclipse.ini配置eclipse的启动参数 0 2013-09-28 01:00:11 Eclipse的启动由$ECLIPSE_HOME/eclipse.ini控制,如果$EC ...

  2. java 泛型参数写法_参数化类型——Java泛型

    参数化类型: 数据的类型会影响程序的行为. 类型限定: 程序支持的数据类型是有范围的. Java里的泛型: GenericType 当我们写出下面这样的代码时,Parent是一个泛型类型,它的参数范围 ...

  3. python函数默认参数位置_二十二、Python函数参数类型(位置、关键字、默认、不定长参数)...

    调用函数时可使用的参数类型 在调用Python函数时可使用的参数类型主要有以下几种: 必要参数(位置参数) 关键字参数 默认参数 不定长参数 必要参数(位置参数) 在Python中, 必要参数必须以正 ...

  4. java如何实取随机数_java - 如何在Kotlin中获取随机数?

    java - 如何在Kotlin中获取随机数? 可以在2个参数之间返回随机整数的通用方法,如ruby,可以使用rand(0..n). 有什么建议吗? 16个解决方案 208 votes 我的建议是In ...

  5. o oia ospf 路由优先_动态路由OSPF中注入默认路由,原来都是这么玩的,进去看看...

    一 .OSPF网络注入默认路由 二. 实战步骤 1.本实验用 R1 的环回接口 1 来模拟 Internet. (1)步骤 1:配置路由器 R1 R1(config)# interface loopb ...

  6. python默认参数举例_Python之在函数中使用列表作为默认参数

    本文将介绍笔者在工作中遇到的Python的一个坑,那就是使用列表作为默认参数. 我们知道,在Python中,列表(list)是可变对象,所以列表的内容可能会在函数内改变.另一个需要注意的是,使用列表作 ...

  7. kotlin半生对象_如何在Kotlin中使用Actor实现对象池

    kotlin半生对象 by osha1 由osha1 如何在Kotlin中使用Actor实现对象池 (How to implement an Object-Pool with an Actor in ...

  8. java项目配置过滤器_在JavaWeb项目中如何正确的使用Filter过滤器

    在JavaWeb项目中如何正确的使用Filter过滤器 发布时间:2020-11-11 17:12:00 来源:亿速云 阅读:79 作者:Leah 这期内容当中小编将会给大家带来有关在JavaWeb项 ...

  9. 默认标题栏字体_不喜欢Windows10上的默认系统字体,可以这样更改

    在Windows 10上,用户可以更改默认系统字体,但是要执行此任务,现在需要修改注册表. 在以前的版本中,例如在Windows 7上,可以访问个性化设置来更改各种桌面元素的系统字体,包括文件资源管理 ...

最新文章

  1. python信用卡识别_python opencv实现信用卡的数字识别
  2. 安卓入门系列-08四大组件之Activity
  3. Java多线程常用方法
  4. web安全检查_如何利用现代Web检查器的功能
  5. mysql交给spring管理_Mysql事务结合spring管理
  6. db2连接工具_ETL工具(kettl)使用系列(一)
  7. shell echo单行和多行文字定向写入到文件中
  8. linux tomcat单机部署多应用
  9. 在 iOS 客户端上通过 bitcode 为第三方库修复 bug
  10. Solidity常见问题
  11. Awvs 12.x安装教程
  12. Java applet 类
  13. 渗透测试的种类(黑白盒)、脆弱性评估、OWASP Top 10、PTES-渗透测试执行标准
  14. java ide的配置(idea)
  15. java web开发(一) Java Web开发框架对比
  16. ARM系列芯片(发展那个飞速啊)
  17. 测试、发布、小组合作及经验启示
  18. 小程序云开发 ——微信支付
  19. layui中的table使用心得,json格式处理,json转字符串,json转对象,json转对象数组,layui表格图片显示修改。
  20. 使用Python将sin(x)和cos(x)画在同一个图例里

热门文章

  1. BZOJ 3277 串 BZOJ 3473 字符串 (广义后缀自动机、时间复杂度分析、启发式合并、线段树合并、主席树)...
  2. oracle 排序的分析函数,oracle下数据的排序分组row_number() over()--分析函数,可用于去重...
  3. 文字超出部分显示..._matplotlib图形内的文字、注释、箭头
  4. spring5源码解读
  5. learning ddr pagesize calculate
  6. 简单哈弗曼树(Java)
  7. 张季跃201771010139《面向对象程序设计(java)》第一周学习总结(改)
  8. 设计模式之工厂模式(Factory)(3)
  9. HTML5新增的标签
  10. hdu 5093 二分匹配