Passing Optional.absent() values to methods concisely

后端 未结 3 1242
不思量自难忘°
不思量自难忘° 2021-02-18 22:31

One problem with using Guava\'s Optional type as arguments of methods is that you can\'t simply write

// method declaration
public void foo(Optional         


        
3条回答
  •  旧巷少年郎
    2021-02-18 22:53

    Just when writing the question, I thought of having

    public class GuavaConstants {
        @SuppressWarnings( { "raw" })
        public static final Optional ABSENT = Optional.absent();
    
        // similar for empty ImmutableList, etc.
    }
    

    and then the call can look like

    @SuppressWarnings( { "unchecked" })
    foo(GuavaConstants.ABSENT);
    

    Is there a better approach?

提交回复
热议问题