JVM оптимизирует предложение if (o! = Null), поскольку вы уже заявили, что o никогда не будет нулевым.
Утверждение не включено по умолчанию во время выполнения и обычно используется для проверки того, что код выполняет некоторый контракт, например, Вы просто хотите убедиться, что определенный объект никогда не будет нулевым (например, чтобы избежать исключений нулевого указателя). Именно из-за этого «контракта» компилятор может оптимизировать if (o! = Null), поскольку он знает, что это условие никогда не произойдет.
Поскольку они, как правило, не включаются во время выполнения, считайте их помогающими разрабатывать фрагмент кода, а не механизм проверки ошибок во время выполнения.