问题标签 [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.
java - 如何使用 auto-value-gson 映射未知的 json 字段
java - JavaPoet - 编写对静态泛型方法的调用
我想编写一个CodeBlock
基本上调用静态泛型方法的方法,但是我得到的输出JavaPoet
是生成编译器错误。
例如,给定以下自动值类:
现在说我想生成一个对testBuilder
for Test1<String>
(内部测试)的调用,我首先通过以下方式获得TypeName
:
现在当我这样做时:
它生成如下代码:
这是错误的,正确的语法应该是:
注意泛型参数的位置...如何使用 JavaPoet 完成此操作?正如您从生成的代码中看到的那样,我有正确的类型,但它只是将泛型参数放在了错误的位置。
我的问题是,如何使用 JavaPoet 将泛型参数添加到方法调用中CodeBlock
?
android - 无法下载 auto-value.jar (com.google.auto.value:auto-value:1.5.2):没有可用于离线模式的缓存版本
我几乎尝试了我所知道的一切,但是一旦我将我的 Android Studio 更新到最新版本,它仍然会显示此错误。我该怎么办?
gradle.build 是:
java - 为什么@AutoValue 注解使用特定整数 1000003 来计算哈希码?
谷歌搜索没有给我任何答案。1000003
但我觉得使用整数计算哈希码背后有逻辑和数学推理。
例如,AutoValue 将为给定的值类生成以下哈希码 -
这个特定整数背后的原因是什么?如果我使用 IntelliJ 创建一个被覆盖的hashcode
方法,它使用 integer 31
。
很想知道作者在想什么。
请注意,为什么在 hashCode 中使用素数?是一个类似的问题。但是,这通常是在询问哈希码中的素数,而这是在询问为什么要使用特定值1000003
(AutoValue
而不是例如不同的素数)。
java - 多重继承泥潭——实例化了哪个类?
假设我有以下课程:
提供一些上下文:
- 所有这些类都驻留在同一个包中。
- 类
C
和D
在编译时生成 - 类
A
以及C
从不实例化;他们只是为课堂提供一些行为B
- 类
B
是唯一实际使用的。 - 类
D
在编译之后是未知的,这就是我们只使用C
in 的原因B
。
这类似于人们在使用google autovalue
我的问题是关于getInner
函数B
:
- 哪个
_Foo
将在该行被实例化return new C._Foo();
?_Foo
里面还是里面的D
那个A
? - 这种未定义的行为是关于实例化的还是记录在案的?如果可能,请提供文件
- 顺序是如何确定的?
最后一个问题仅供参考,我对前两个最感兴趣。
谢谢你的帮助。
java - 静态最终字段不应该为空
我们的应用程序中有一些使用 Java 的代码和其他使用 Kotlin 的代码。我们遇到了一个非常奇怪的情况。
该问题出现在某些设备上,在将其传递给构造函数时它报告platform
为存在,尽管我们检查是否不存在并提供常量:null
AutoValue_Session
lastPlatform
null
Platform.MISSING
有人遇到过 Android 和 Kotlin 互操作的问题吗?
更新:这发生在野外并且只有少量用户。还不能在本地复制它。
更新2:第二次调用Session.from
是由第一次加载到内存中<clinit>
引起的。Session
这是提到的两个类的代码:
平台.kt
会话.java
android - AndroidX,Autovalue support.annotations 错误的依赖
我有一个使用 Autovalue 生成它的一些模型的 Android 项目。我正在尝试从旧的依赖项转移com.android.support.*
到新的androidx.*
依赖项。
我知道在 Android Gradle Plugin 3.2+ 中它试图替换所有出现的旧支持依赖项,但这似乎并没有扩展到由 Autovalue 生成的接口。这些接口仍然引用android.support.annotation.NonNull
and android.support.annotation.Nullable
,而不是androidx.annotation.*
我对这些注释处理器的经验很少,如果有任何其他可能相关的信息,请告诉我。
感谢您的建议。
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:
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 解析为类型”
任何解决方案?提前致谢。
android - 如何通过 AutoValue 将 MapStruct 用于不可变值类(适用于 Android)
我无法弄清楚如何将 mapstruct 1.3 与 Google 的 @AutoValue 一起使用。我正在尝试在 Android 上执行此操作,但我怀疑这与我的问题有关。是否有关于此的任何文档或示例?我已经在maptruct 问题中发布了有关缺乏文档的问题。
AutoValue 构建一个不可变的 bean,构建器是通过我提供的方法 MyDto.builder() 创建的,该方法返回 new AutoValue_MyDto.Builder()