问题标签 [data-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
21197 浏览

php - 表单的视图数据应该是类的一个实例......但是是一个(n)字符串

我目前收到以下错误:

“表单的视图数据应该是 Symfony\Component\HttpFoundation\File\File 类的实例,但它是一个 (n) 字符串。您可以通过将“data_class”选项设置为 null 或添加视图来避免此错误将一个(n)字符串转换为 Symfony\Component\HttpFoundation\File\File 实例的转换器。”

SoundController - 上传功能

SoundType - 形式

0 投票
0 回答
36 浏览

c# - COM 可访问数据类 c#

我的COM接口:

Person 类是一个简单的数据类,如下所示:

我是否需要为 Person 类做任何其他事情(在 person 类上放置属性等),以便 C++ 代码可以访问它的属性?

0 投票
2 回答
5139 浏览

android - Kotlin 数据类和可为空的类型

我是 Kotlin 的新手,我不知道为什么编译器会抱怨这段代码:

编译器抱怨test?.data.length,它说我应该这样做:test?.data?.length。但是 data 变量是String, not String?,所以我不明白为什么我?要检查长度时必须放 。

0 投票
2 回答
461 浏览

lambda - 函数到 lambda 表达式

我有一个数据类,我需要初始化一些List<String>. 我需要获取 JsonArray 的值(我正在使用 Gson)。

我做了这个功能:

如何转换为 lambda 表达式?

谢谢。

0 投票
2 回答
1715 浏览

constructor - 不可变(数据)类上的多个构造函数

我正在尝试使用多个构造函数实现一个不可变的数据类。我觉得这样的事情应该是可能的:

当然不是:Kotlin 期望在顶部声明对主构造函数的调用:

这也不好,因为调用是在构造函数主体之前执行的,并且无法访问局部变量。

我可以这样做当然:

但这将检查断言为时已晚,并且不能很好地扩展。

我看到接近所需行为的唯一方法是使用辅助函数(不能定义为非静态 on Color):

这并没有让我觉得这是一个非常优雅的模式,所以我猜我在这里遗漏了一些东西。

在 Kotlin 中的不可变数据类上是否有一种优雅、惯用的方式来拥有(复杂的)辅助构造函数?

0 投票
1 回答
227 浏览

types - 伴随对象隐藏类——错误或功能?

在 Kotlin 中,以下似乎是合理的代码:

但是,它不会编译:类型Foo绑定到Foo.Foo而不是Foo

这是一个(语言设计或编译器)错误,还是一个特性?combine如果是后者,在存在伴随对象的情况下实现的惯用方式是什么?

当然,我会考虑一种解决方法:

但这不太好,现在是吗?

0 投票
3 回答
6700 浏览

json - 如何使用 Gson 反序列化继承的 Kotlin 数据类

在 Android 应用程序中,我需要为 Kotlin 数据类反序列化 Json 数据,具有单一抽象级别。但我不知道在构造函数中放置正确的属性。

作为一个简单的版本,假设我有一个形状:

有两个推导

所以我的目标是,不实例化一个形状。所以,总是反序列化它的派生。稍后我需要处理其他类中的一些集合属性,例如:

但我还必须知道每个元素的派生类型。

当我尝试使用 Gson 反序列化给定示例时

我总是得到一个 IllegalArgumentException

是否有可能在不编写自定义 Gson TypeAdapter 或失去数据类优势的情况下正确反序列化此类?

谢谢

0 投票
1 回答
2106 浏览

int - Kotlin 数据类 Gson 序列化问题

我对我的 kotlin 课程没有按预期工作有点困惑:

用于检查更新信息的数据类:

也是一个用于解码对象形式 json 的工具:

当我测试它时:

我得到:

什么??info.isForceUpdate = 假???
然后我尝试了lateinitor by lazy{},仍然无法正常工作。所以,我该怎么办..我info.force==1现在直接使用,但我仍然想知道为什么会这样。

0 投票
3 回答
113927 浏览

java - 使用 GSON 来自 Json 的 Kotlin 数据类

我有这样的 Java POJO 类:

我有一个像这样的 Kotlin 数据类

java - 如何为java变量中的注释提供json key任何变量?kotlin data class@SerializedName

0 投票
1 回答
15469 浏览

kotlin - 从 Kotlin 中的密封类扩展数据类

我有一组共享一些公共字段的数据类,所以理想情况下,我想在超类型中声明它们(本例中为 Message),并且如果他们需要访问这些公共字段,则能够编写对超类型进行操作的函数字段(本例中的 messageId)。

我试图通过从密封类扩展我的数据类来实现这一点。

数据类可以扩展密封类,但我不确定它们如何/是否可以接受“超类型”密封类所需的参数。

  1. 从密封类扩展常规类编译得很好。

    /li>
  2. 但是,将其更改为数据类不会编译(“数据类主构造函数必须只有属性 (val/var) 参数。”)。

    /li>
  3. 将参数声明为属性也不会编译(“'messageId' 隐藏超类型'Message' 的成员并需要'覆盖'修饰符'”)。

    /li>
  4. 打开超类型属性并在每个基类中覆盖它可以很好地编译:

    /li>

理想情况下,我想要接近选项 2 的东西——它让我能够结合两全其美。

否则,似乎我的选择要么使用选项 1 处理我自己的数据类功能(复制、哈希码、equals 等),要么通过使用选项 4 打开超类型属性来妥协。