Variable used in lambda expression should be final or effectively final

后端 未结 7 840
抹茶落季
抹茶落季 2020-11-22 07:54

Variable used in lambda expression should be final or effectively final

When I try to use calTz it is showing this error.

7条回答
  •  不知归路
    2020-11-22 08:42

    A variable used in lambda expression should be a final or effectively final, but you can assign a value to a final one element array.

    private TimeZone extractCalendarTimeZoneComponent(Calendar cal, TimeZone calTz) {
        try {
            TimeZone calTzLocal[] = new TimeZone[1];
            calTzLocal[0] = calTz;
            cal.getComponents().get("VTIMEZONE").forEach(component -> {
                TimeZone v = component;
                v.getTimeZoneId();
                if (calTzLocal[0] == null) {
                    calTzLocal[0] = TimeZone.getTimeZone(v.getTimeZoneId().getValue());
                }
            });
        } catch (Exception e) {
            log.warn("Unable to determine ical timezone", e);
        }
        return null;
    }
    

提交回复
热议问题