Java complains about final field not initialized in default case of a switch -


i want initialize final field in different ways. therefore have created enumeration type , perform switch on it.

    public enum type {         a,         b,     } 

i have added default case switch assertion warn fellow programmers in case add new enumeration constant , forget update switch.

        default:             assert false : "missing type detected"; 

java detects flaw in argument , complains blank field may not have been initialized. how should deal situation?

public class switchexample {     public enum type {         a,         b,     }      private final int foo;      public switchexample(type t)     {         switch (t) {         case a:             foo = 11;             break;          case b:             foo = 22;             break;          default:             assert false : "missing type detected";         }          // blank final field foo may not have been initialized     } } 

instead of assert false : "missing type detected"; may throw illegalargumentexception("missing type detected")


Comments

Popular posts from this blog

android - getbluetoothservice() called with no bluetoothmanagercallback -

sql - ASP.NET SqlDataSource, like on SelectCommand -

ios - Undefined symbols for architecture armv7: "_OBJC_CLASS_$_SSZipArchive" -