Java 为什么无法在构造函数中使用@Tolerate lombok进行初始化甚至打印?

Java 为什么无法在构造函数中使用@Tolerate lombok进行初始化甚至打印?,java,constructor,hashmap,lombok,Java,Constructor,Hashmap,Lombok,lombok的@Tolerate构造函数有什么问题,为什么无法达到?我怎样才能修好它?我想通过在构造函数块内设置一些默认键和值来初始化映射,但它无法初始化,因为在构造函数内无法访问任何内容。 你能帮帮我吗?多谢各位 import java.util.HashMap; import lombok.Builder; import lombok.Data; import lombok.experimental.Tolerate; import lombok.ToString; @Data @ToSt

lombok的@Tolerate构造函数有什么问题,为什么无法达到?我怎样才能修好它?我想通过在构造函数块内设置一些默认键和值来初始化映射,但它无法初始化,因为在构造函数内无法访问任何内容。 你能帮帮我吗?多谢各位

import java.util.HashMap;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.Tolerate;
import lombok.ToString;

@Data
@ToString(includeFieldNames = true)
@Builder
public class A {

    @Builder.Default private HashMap<Integer, Double> map = new HashMap<>();

   @Tolerate
   public A() {
  //          System.out.println("Print to Test 1: ");
      super();
    
    //INTIALIZING MAP WITH DEFAULT VALUE AND KEY
    System.out.println("Print to Test 2: ");
    map.put(47, 0.8);
    map.put(87, 0.9);
    System.out.println("Print to Test 3: ");
    
  }


    public double getValue(int x, int key) {
  
      System.out.println("test 1: " + map); 

      return x * map.get(key);
  }
}
import java.util.HashMap;
进口龙目造船厂;
导入龙目数据;
进口龙目羚;实验性;耐受性;
进口龙目草;
@资料
@ToString(includeFieldNames=true)
@建筑商
公共A类{
@Default private HashMap map=new HashMap();
@容忍
公共A(){
//System.out.println(“打印到测试1:”);
超级();
//使用默认值和键初始化映射
System.out.println(“打印到测试2:”);
map.put(47,0.8);
map.put(87,0.9);
System.out.println(“打印到测试3:”);
}
公共双getValue(整数x,整数键){
System.out.println(“测试1:+map”);
返回x*map.get(键);
}
}
输出:


测试1:{}

@Builder
不使用无参数构造函数,而是使用全参数构造函数。如果希望构建器使用自己的构造函数,请手动实现一个all args构造函数,但不要使用
@allow
对其进行注释(否则Lombok将尝试生成另一个构造函数,这将导致编译错误)