Kotlin 数据类的扩展函数

2024-02-02

我有一个数据类,看起来像这样

data class SuggestionResponse(
  val metadata: Metadata,
  val response: Response
)

data class Response(
 ///blah blah
)

data class Metadata(
  val timeleft: String,
  val totalTime: String
)

现在我要求将此数据转换为不同类型的数据对象。我想编写一个扩展函数来完成此任务。让函数的名称为 hello

我想这样调用这个扩展函数

suggestionResponse.hello()

我如何编写扩展函数?任何帮助将不胜感激


只需创建一个扩展函数SuggestionResponse类,您将可以访问以下属性SuggestionResponse class:

fun SuggestionResponse.hello() { 
    //`metadata` property is available here
    //`response` property is available here
    val time = metadata.timeleft
}

然后你就可以在一个实例上调用它SuggestionResponse class:

suggestionResponse.hello()

有关扩展功能的更多信息 https://kotlinlang.org/docs/reference/extensions.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kotlin 数据类的扩展函数 的相关文章

  • 在 C 中通过引用传递数组

    我是 C 新手 我有一个疑问 由于 C 函数创建其参数的本地副本 我想知道为什么以下代码按预期工作 void function int array array 0 4 array 1 5 array 2 6 int main int arr
  • Android 2.2 SDK - Droid X 相机活动无法正常完成

    我注意到我在 Droid X 上调用的默认相机活动与我的 Droid 和 Nexus One 上的默认相机活动看起来不同 在 Droid 和 Nexus One 上选择 确定 后 活动将完成 Droid X 有一个 完成 按钮 它将带您返回
  • Android 中用虚拟键盘捕捉按键按下的情况?

    使用物理键盘 您可以使用按键监听器 http developer android com reference android text method KeyListener html 就像是 myEditText setOnKeyListe
  • Android NDK 中使用“dynamic_cast”时出现“UnsatisfiedLinkError”

    我是 Android 开发新手 我面临下一个问题 当我使用 C 代码时 动态演员 表达方式 不满意的链接错误 当我在模拟器上启动应用程序时出现 但是当我在没有它的情况下运行应用程序时 一切正常 我的意思是 LogCat 没有任何错误 我尝试
  • v7 RecyclerView NullPointerException AccessibilityDelegateCompat.getBridge()

    运行我的 recyclerview 列表片段时出现此错误 java lang NullPointerException Attempt to invoke virtual method java lang Object android su
  • android webview 函数 onPagefinished 被调用两次

    我的android webview功能onPageFinished被调用两次 我不知道为什么 但它在 android 2 2 上运行良好 但当我将其升级到 4 时 它就不起作用了 代码附在下面 Code Override public vo
  • 在 Android 中长按时从操作模式中删除后退/主页按钮

    我已经在里面长按实现了上下文操作模式recycler view 为此我打电话给ActionModeCallback从创建动作模式开始 创建动作模式时 默认显示后退箭头 检查如下 单击后退箭头 操作模式将关闭 现在我想要hide or rem
  • Retrofit-2 内容类型问题

    我的 Api 接受 Content Type application json 作为标头 我按照改造文档中所述完美设置了标题 Headers Content Type application json POST user classes C
  • 如何从 Retrofit2 获取字符串响应?

    我正在做 android 正在寻找一种方法来执行超级基本的 http GET POST 请求 我不断收到错误 java lang IllegalArgumentException Unable to create converter for
  • 如何将 android.net.Uri 转换为 java.net.URL? [复制]

    这个问题在这里已经有答案了 有没有办法从Uri to URL 我正在使用的库需要这个 它only接受一个URL但我需要在我的设备上使用图像 如果该方案的Uri is http or https new URL uri toString 应该
  • 如何在进入新活动之前终止线程和处理程序

    大家好 在我尝试清理处理程序时 这段代码可能有点混乱 因为我一直在尝试追踪崩溃发生的位置 我有一个对话框活动 显示密码输入 进度条由线程和处理程序动画显示 似乎当我试图查看进度条是否完成并尝试终止线程时 当我尝试进入新活动时 我这样做的方式
  • 从 TextView 中显示的数字中删除小数点[重复]

    这个问题在这里已经有答案了 对于我的简单计算器 我将结果显示在TextView 但它总是显示小数 我怎样才能删除它们 这是我的代码 public class MainActivity extends Activity implements
  • Android Studio - 值必须 ≥ 0

    我在 Android Studio 中收到与光标有关的错误 我的代码中有以下行 String data cursor getString cursor getColumnIndex columnIndex columnIndex 被传递到该
  • onClick 未在带有子项的 LinearLayout 上触发

    我有一个自定义的 LinearLayout 和一个较小的 TextView 子级 我希望能够单击 TextView 未覆盖的区域 因此我将 clickable true 和 onclicklistener 设置为 LinearLayout
  • Android Studio IDE 上的“文本/设计”选项卡缺少新的 Android 项目

    如何在创建新项目期间自动创建的 Activity main xml 文件的 src main res layout 文件夹中启用文本 设计选项卡 如果我右键单击并在所述文件夹上创建 xml 文件 则设计 文本选项卡存在 有什么建议吗 谢谢
  • Android 从命令行停止模拟器

    这个问题与如何通过命令行关闭Android模拟器 https stackoverflow com questions 5912403 how to shut down android emulator via cmd 但是 在尝试第一个答案
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • Android:解析 XML 数据的最佳解析器 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在开发一个应用程序 其中我第一次要解析来自远程服务器的 xml 文件中的数据 但我无法选择哪个解析器是有效的或最适合解析的 因为我知道主要有
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创

随机推荐

  • 搜索多个字符串

    我知道在文件 kmp 中查找一个字符串或在文件 trie 中查找各种字符串的有效方法 但是 多年来 我一直想知道是否有一种方法 有时认为不可能 在多个文件中搜索多个字符串 假设我有一百万个文件 我想回答诸如 查找包含字符串 香蕉 摩托艇 和
  • Pyspark结构化流Kafka配置错误

    我之前已经成功地将 pyspark 用于 Spark Streaming Spark 2 0 2 和 Kafka 0 10 1 0 但我的目的更适合结构化流 我尝试使用在线示例 https spark apache org docs 2 1
  • 微服务横向扩展数据库的最佳实践或设计

    微服务的主要好处是可以通过使用多个容器实例和负载平衡来扩展一种服务 类型 以提高吞吐量 但有一件事是 服务类型 的多个实例 即容器 共享同一个数据库实例 当多个实例在该数据库实例上写入 读取时 这可能会造成性能瓶颈 传统上 我们会扩展该数据
  • 使用 css 显示/隐藏 html 表格列

    我想显示一个基本的 html 表 其中包含用于切换显示 隐藏附加列的控件 table tr th Column 1 th th class col1 1a th th class col1 1b th th Column 2 th th c
  • Yii:HAS_MANY 搜索

    我有以下表格 user id cv personal data id cv personal data id firstname surname gender address cv laboral exp id user id positi
  • 启动时出现空白页

    在获得启动画面之前 当我启动应用程序时 我会看到一段时间的空白页 Activity但我还是明白了 怎么了 清单文件
  • Express JS 4.0 命令行工具不起作用

    我使用express 3 x有一段时间了 命令行工具运行得非常好 我决定更新到 4 0 以便我可以尝试一下并使旧应用程序兼容 4 x sudo npm install g express 安装快递完全没问题 但是当我尝试时 exprsss
  • Python多处理调用对象方法[重复]

    这个问题在这里已经有答案了 我想使用Python的多处理模块来启动一个新进程 该进程创建一些其他对象并调用该对象的loops forever方法 在我的主课中 我有 import OtherService from multiprocess
  • GWT 中的 JOptionPane.showInputDialog()

    是否有任何简单的方法来创建具有单个文本输入控件的模态对话框实例 该实例将在按 确定 时返回输入到文本控件中的字符串 我正在寻找类似于 Swing 中的 JOptionPane showInputDialog 一行的东西 您可以创建自己的类
  • 是否存在无法使用尾递归编写的问题?

    尾递归是函数式语言中重要的性能优化策略 因为它允许递归调用消耗常量堆栈 而不是 O n 是否存在根本无法用尾递归风格编写的问题 或者是否总是可以将朴素递归函数转换为尾递归函数 如果是这样 有一天函数式编译器和解释器是否会足够智能来自动执行转
  • Javascript 事件:window.event 与参数引用(函数)

    有什么区别 function test e console log Event e document querySelector button onclick test
  • 在 ASP.Net WebAPI 中,RouteParameter.Optional 是否表示 URL 的可选部分?

    我有以下路由规则 config Routes MapHttpRoute name DefaultApi routeTemplate api controller id defaults new id RouteParameter Optio
  • 为什么 Silverlight 4 Tools 只提供部分智能感知?

    我终于安装了 Silverlight 4 Toolkit 并在之后进行了引用和工作很难找到这个问题中描述的正确的命名空间 https stackoverflow com questions 2661010 how can i get sil
  • 使用nodejs创建考勤登记表

    问题 从 txt 文件中逐行读取学生姓名 对于每个名字 询问该学生是否在上课 例如 迈克尔在上课吗 是 否 让用户输入是或否 将每个名称和条目存储在另一个 txt 文件中 解决方案 我编写了这段几乎可以工作的代码 只是在循环 readlin
  • Ajax 调用 .Net 并发送回 cookie

    我正在从 html 页面 移动 向 net 服务器进行 ajax 调用以进行登录和身份验证 现在我正在发送一个 JSON 响应 结果为 success true 这一切都工作正常 但我需要设置 cookie 以便在登录后进行其他调用来记录数
  • 是否可以使用 data.table 索引连接分配习惯进行左连接并将 i 的不匹配行中的 NA 分配给 x ?

    昨天我给出了这样的答案 按五列匹配数据表以更改另一列中的值 https stackoverflow com questions 39176643 matching data tables by five columns to change
  • 由于其保护级别而无法访问该类[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我有一个项目 IBSampleApp 在两个解决方案中使用 并且它的类在两个解决方案中都遇到以下编译器错误 由于其保护级
  • 如何创建 Java 程序的试用版 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在用java编写一个软件 我快完成了 我想知道我们如何创建一个试用版 例如可以使用30天 因为我会将其发送给一些公司 那么如何使它
  • 如何使用 jsdoc 3 或 jsdoc 记录 Requirejs (AMD) 模块?

    我有两种类型的模块 Require js 主文件 require config baseUrl another path paths some some v1 0 waitSeconds 15 locale fr fr require so
  • Kotlin 数据类的扩展函数

    我有一个数据类 看起来像这样 data class SuggestionResponse val metadata Metadata val response Response data class Response blah blah d