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?