首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KOTLIN:如何为函数中的泛型类型参数指定默认值?

KOTLIN:如何为函数中的泛型类型参数指定默认值?
EN

Stack Overflow用户
提问于 2020-09-21 19:32:15
回答 1查看 265关注 0票数 0

我的问题很简单(也许不是解决办法.)

我定义了一个通用指针:

代码语言:javascript
复制
data class pTp<T>(   // It's a generic wrap class for scalar type T
  var v:T
)

我想知道这个通用指针是如何处理许多结构化数据的:

代码语言:javascript
复制
data class Agenda (
 var name: String="",
 var address: String=""
)

如果我想在函数中使用该类型,那么没有问题:

代码语言:javascript
复制
fun example(...., pAg: pTp<Agenda>, .....){

}

下面的函数调用工作平稳。

代码语言:javascript
复制
var agen: pTp<Agenda> = pTp(Agenda())
... example(...,pAg=agen,...)

代码语言:javascript
复制
... example(...,pAg=pTp(Agenda()),...)

但是,下面的代码对于这个参数有一个默认值--它不工作.

代码语言:javascript
复制
fun example(...., pAg: pTp<Agenda>=pTp<Agenda>(Agenda()), .....){

}

都不是

代码语言:javascript
复制
fun example(...., pAg: pTp<Agenda>=pTp>(Agenda()), .....){

}

但是,这是我在调用者初始化时使用的相同的代码!

所以,我不知道如何进行初始化。

更新:正确的答案如下。只需在=之前使用一个空格。太疯狂了!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-21 19:38:43

请使用下一种语法,它将起作用:

代码语言:javascript
复制
fun example(pAg: pTp<Agenda> = pTp(Agenda())) {
    // ...
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63998839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档