I have the following code:
public void visitStrAttribute(String attributeName, Consumer<String> attributeConsumer) {
IntConsumer intConsumer;
int stringByteArrayLength = 0;
visitIntAttribute("", (IntValue) -> stringByteArrayLength = IntValue);
attributeConsumer
.accept(new String(readInputStream(stringByteArrayLength), StandardCharsets.UTF_8));
}
I need to set stringByteArrayLength
inside the lambda but an error message appears and it told me Local variable stringByteArrayLength defined in an enclosing scope must be final or effectively final
.
How do I fix this?