当前位置: 首页 > 知识库问答 >
问题:

匕首2,@set有什么区别:注入和@Inject

呼延升
2023-03-14

在一个android、kotlin项目中,看到这个< code>@set:Inject,但找不到一个好的解释。有人知道吗?

object Controller {

    @set:Inject
    lateinit var someData: SomeData

共有1个答案

公冶经纶
2023-03-14

@Inject注释可用于方法、构造函数或字段:

@Target(value={METHOD,CONSTRUCTOR,FIELD})

重要的是要记住,Java代码将从这个 Kotlin 代码生成,对于 Kotlin 中的一个语句,您可以有多个 Java 元素,这就是为什么 @set:Inject 显式指定@Inject注释应应用于将在 Java 中生成的 setter。

如果没有定义使用站点目标会发生什么?官方留档提供了一个很好的解释:

如果不指定use-site目标,则根据正在使用的注释的@Target注释来选择目标。如果有多个适用目标,则使用以下列表中的第一个适用目标:

    < li>param(构造函数参数); < li >属性(带有此目标的批注对Java不可见); < li >字段;
 类似资料:
  • 本文向大家介绍Set和WeakSet有什么区别?相关面试题,主要包含被问及Set和WeakSet有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 Set 有 forEach keys values 等方法,类数组结构,可以 add 进各种类型,可以用 keys 和 for-in 取出; WeakSet 没有那些方法,只能 add 进对象,没法取出,只能 has 判断。 将它们视为始终去重的数

  • 问题内容: 看到这样的代码片段 我想知道Hashset是否是一种特殊的设置。他们之间有什么区别吗? 问题答案: A 代表通用的“一组值”。A 是对元素进行排序(并由此排序)的集合,a 是对元素进行 不 排序或排序的集合。 A 通常比A 快很多。 通常将A 实现为一棵红黑树(请参阅http://en.wikipedia.org/wiki/Red- black_tree- 我尚未验证sun / ora

  • 问题内容: 和接口之间的根本区别是什么? 问题答案: 是元素的有序序列,而元素是无序的独特列表。 有序集合(也称为序列)。该界面的用户可以精确控制列表中每个元素的插入位置。用户可以通过其整数索引(列表中的位置)访问元素,并在列表中搜索元素。 一个不包含重复元素的集合。更正式地说,集合不包含元素对e1和e2,使得e1.equals(e2)最多包含一个空元素。顾名思义,此接口对数学集合抽象进行建模。

  • 我仔细阅读了Vue文档“深度反应性”和vm的API。$set和Vue.set但我仍然很难确定何时使用哪个。能够区分两者对我来说很重要,因为在我当前的Laravel项目中,我们动态地设置了对象的许多属性。 文档中的区别似乎在于vm使用的语言。$set是“用于Vue实例”,而Vue.set是“用于普通数据对象”,并且Vue.set是全局的: 但是,有一些方法可以添加属性,并在创建实例后使其具有反应性。

  • 我正在MVVM和Dagger 2中制作小型Android应用程序。但是我不知道如何正确使用Dagger 2,以防我有一个活动和两个片段。这两个片段都是ViewModels的所有者。我已经将ViewModelProvider注入了片段,但我仍然对这个解决方案感到困惑。也许有人会改进我的代码? 活动: 第一个片段: 第二个片段: 在这种情况下,两个片段都可以工作,但我只能在其中一个片段中注入ViewM

  • 我使用匕首有一段时间了,现在开始迁移到剑柄,但我不明白注射activity和碎片的好处。在Dagger中,它是和类似于的东西 抱歉,如果这是个愚蠢的问题。