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

Project Lombok-Value Annotation:有可能抑制@getter吗?

颛孙兴旺
2023-03-14

在搜索了Lombok特性列表,特别是getter/setter和@value注释的文档之后,我没有找到任何抑制@getter生成的代码的设置。

这一点很重要,因为我不想泄漏对本身是可变的对象的引用。

Effective Java在“项目39:在需要时制作防御性副本”中引用了这种类型的问题。看来@wither可以通过制作实际的防御性副本来部分解决这个问题,但我希望避免泄漏属性,不管这些属性是可变的。

虽然可以滚动自己的@value注释,但它省略了@getter,当然,我不希望这样做,因为如果已经存在这样的设置,那会给代码库增加不必要的复杂性。

共有1个答案

琴琪
2023-03-14

您可以使用:@value@getter(accesslevel.none)

accesslevel.none指示Lombok不生成getter。你现在只能这么做了。

 类似资料:
  • Previously, the filestore had a problem when handling large numbers of small ios. We throttle dirty data implicitely via the journal, but a large number of inodes can be dirtied without filling the jo

  • 我有一个类型: 我声明一个全局模块变量: 我在范围中指定了适当的值: 稍后在范围中,我调用: 我收到TypeScript错误: 我知道我可以使用if($protected.listle){$protected.listle}进行显式检查,以使编译器平静下来,但对于大多数非平凡的情况来说,这似乎是非常不容易的。 在不禁用TS编译器检查的情况下,如何处理这种情况?

  • 我使用ES6承诺来管理我的所有网络数据检索,有些情况下我需要强制取消它们。 基本上,这个场景是这样的,我在UI上有一个预先输入的搜索,其中请求被委托给后端,必须根据部分输入执行搜索。虽然这个网络请求(#1)可能需要一点时间,但用户继续键入,最终触发另一个后端调用(#2) 在这里,#2自然优先于#1,所以我想取消承诺包装请求#1。我在数据层中已经有了一个所有承诺的缓存,所以理论上我可以在尝试提交#2

  • 使用标准的GCP提供的存储/文本文件来发布Sub数据流模板,但是尽管我已经设置了#workernodes eq 1,但是对于下游组件来说,处理的消息吞吐量“太高”。 在 Pub/Sub 中的消息事件上运行的 Cloud 函数会命中 GCP 配额,并且使用 CloudRun,我在开始时收到一堆 500、429 和 503 个错误(由于步进突发率)。 有没有办法控制数据流的处理速率?需要获得更软/更慢

  • 描述 (Description) 您可以使用bean内省机制来抑制特定属性。 专用BeanIntrospector接口由名为SuppressPropertiesBeanIntrospector的类型实现,该类型SuppressPropertiesBeanIntrospector Java bean的特殊类属性。 需要提供属性名称的集合,这些属性名称在创建实例时无法在bean上访问。 如果这些属性由

  • 我认为这些信息在开始的时候真的很重要,但是后来就没有用了。它实际上使读取和调试的情况变得更糟。 I tensorflow/流执行器/dso加载器。cc:128]已成功打开CUDA库libcublas。所以8.0本地I tensorflow/流执行器/dso加载器。抄送:119]无法打开CUDA库libcudnn。所以LD_库路径:I tensorflow/stream_executor/cuda/