问题标签 [auto-value]

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 投票
1 回答
1078 浏览

java - 如何使用 auto-value-gson 映射未知的 json 字段

我正在与他们的api对话的 android 中制作一个简单的 github gist view 应用程序。

但我不确定如何使用 AutoValue 和 GSON 来映射这个 json 响应。请注意,我已经删除了很多键,因为我目前不需要它,实际响应看起来像这样

示例响应

问题 我读过我可以在StringFile对象之间映射以使其工作。但它不起作用,因为fileskey 是或可以是对象的对象。

那么如何使用 auto-value-gson 映射这些未知对象的对象呢?甚至可能吗?

代码

GistResponse.java

文件名.java

文件.java

相关主题和信息:

0 投票
1 回答
692 浏览

java - JavaPoet - 编写对静态泛型方法的调用

我想编写一个CodeBlock基本上调用静态泛型方法的方法,但是我得到的输出JavaPoet是生成编译器错误。

例如,给定以下自动值类:

现在说我想生成一个对testBuilderfor Test1<String>(内部测试)的调用,我首先通过以下方式获得TypeName

现在当我这样做时:

它生成如下代码:

这是错误的,正确的语法应该是:

注意泛型参数的位置...如何使用 JavaPoet 完成此操作?正如您从生成的代码中看到的那样,我有正确的类型,但它只是将泛型参数放在了错误的位置。

我的问题是,如何使用 JavaPoet 将泛型参数添加到方法调用中CodeBlock

0 投票
1 回答
4766 浏览

android - 无法下载 auto-value.jar (com.google.auto.value:auto-value:1.5.2):没有可用于离线模式的缓存版本

我几乎尝试了我所知道的一切,但是一旦我将我的 Android Studio 更新到最新版本,它仍然会显示此错误。我该怎么办?

gradle.build 是:

0 投票
0 回答
114 浏览

java - 为什么@AutoValue 注解使用特定整数 1000003 来计算哈希码?

谷歌搜索没有给我任何答案。1000003但我觉得使用整数计算哈希码背后有逻辑和数学推理。

例如,AutoValue 将为给定的值类生成以下哈希码 -

这个特定整数背后的原因是什么?如果我使用 IntelliJ 创建一个被覆盖的hashcode方法,它使用 integer 31

很想知道作者在想什么。

请注意,为什么在 hashCode 中使用素数?是一个类似的问题。但是,这通常是在询问哈希码中的素数,而这是在询问为什么要使用特定值1000003AutoValue而不是例如不同的素数)。

0 投票
1 回答
64 浏览

java - 多重继承泥潭——实例化了哪个类?

假设我有以下课程:

提供一些上下文:

  • 所有这些类都驻留在同一个包中。
  • CD在编译时生成
  • A以及C从不实例化;他们只是为课堂提供一些行为B
  • B是唯一实际使用的。
  • D在编译之后是未知的,这就是我们只使用Cin 的原因B

这类似于人们在使用google autovalue


我的问题是关于getInner函数B

  1. 哪个_Foo将在该行被实例化return new C._Foo();_Foo里面还是里面的D那个A
  2. 这种未定义的行为是关于实例化的还是记录在案的?如果可能,请提供文件
  3. 顺序是如何确定的?

最后一个问题仅供参考,我对前两个最感兴趣。

谢谢你的帮助。

0 投票
0 回答
585 浏览

java - 静态最终字段不应该为空

我们的应用程序中有一些使用 Java 的代码和其他使用 Kotlin 的代码。我们遇到了一个非常奇怪的情况。

该问题出现在某些设备上,在将其传递给构造函数时它报告platform为存在,尽管我们检查是否不存在并提供常量:nullAutoValue_SessionlastPlatformnullPlatform.MISSING

有人遇到过 Android 和 Kotlin 互操作的问题吗?

更新:这发生在野外并且只有少量用户。还不能在本地复制它。

更新2:第二次调用Session.from是由第一次加载到内存中<clinit>引起的。Session

这是提到的两个类的代码:

平台.kt

会话.java

0 投票
1 回答
185 浏览

android - AndroidX,Autovalue support.annotations 错误的依赖

我有一个使用 Autovalue 生成它的一些模型的 Android 项目。我正在尝试从旧的依赖项转移com.android.support.*到新的androidx.*依赖项。

我知道在 Android Gradle Plugin 3.2+ 中它试图替换所有出现的旧支持依赖项,但这似乎并没有扩展到由 Autovalue 生成的接口。这些接口仍然引用android.support.annotation.NonNulland android.support.annotation.Nullable,而不是androidx.annotation.*

我对这些注释处理器的经验很少,如果有任何其他可能相关的信息,请告诉我。

感谢您的建议。

0 投票
1 回答
1506 浏览

java - Google AutoValue 无法识别 AutoValue_CustomType

我正在尝试使用 Google AutoValue 在我的 Android Studio 项目中生成 HomeKey,但它不承认 AutoValue_HomeKey() (请参阅下面的注释代码)。使用的 gradle 版本:4.10.1

我的Android项目就是基于这个例子一: https ://github.com/Zhuinden/simple-stack/tree/master/simple-stack-example-basic-java-fragment

我是否忘记应用插件,或实施了错误的包?

HomeKey类:

基键类:

项目级 build.gradle:

应用级 build.gradle:

0 投票
1 回答
1343 浏览

java - AutoValue 无法解析为类型 - Eclipse

尝试在我的 java 类中使用包 com.google.auto.value.AutoValue 的 AutoValue 并得到错误“AutoValue 无法解析为类型”

我在 pom.xml 中添加了这个

Java程序:

我尝试了通过打开项目属性添加它的解决方案,浏览到 Java 编译器 -> 注释处理 -> 工厂路径,单击“添加外部 JAR”,然后选择 4 个 jar 文件 - auto-service-1.0-rc1.jar ,番石榴-16.0.1.jar,jsr-305-2.0.3.jar,自动值1.0-rc1.jar

还尝试添加 m2e-apt 插件和 Maven ->“注释处理”-> 选择“自动配置 JDT APT...”

仍然收到错误“无法将 AutoValue 解析为类型”

任何解决方案?提前致谢。

0 投票
1 回答
432 浏览

android - 如何通过 AutoValue 将 MapStruct 用于不可变值类(适用于 Android)

我无法弄清楚如何将 mapstruct 1.3 与 Google 的 @AutoValue 一起使用。我正在尝试在 Android 上执行此操作,但我怀疑这与我的问题有关。是否有关于此的任何文档或示例?我已经在maptruct 问题中发布了有关缺乏文档的问题。

AutoValue 构建一个不可变的 bean,构建器是通过我提供的方法 MyDto.builder() 创建的,该方法返回 new AutoValue_MyDto.Builder()