2013-12-18 4 views
-1

В Android, как я могу запретить пользователю вводить нулевые значения в мой метод. Я не хочу запускать исключение во время выполнения. Я хочу, чтобы выглядеть как ошибка компиляцииAndroid not null values ​​

Например, если у меня есть следующий метод

public void myMethod(Object o); 

Я не хочу, чтобы пользователь смог вызвать его, используя

myMethod(null) 

спасибо заранее

+0

, пожалуйста, более конкретно? –

+0

Значение null не может быть обнаружено во время компиляции, так как компилятор не может угадать, какие входные значения будут. Вы все еще можете проверять значения NULL в своем методе и избегать исключения – slecorne

+0

искать другой способ достижения этого же на http://stackoverflow.com/questions/997482/does-java-support-default-parameter-values. Это не совсем то, о чем вы просите, но это даст вам идею реализовать все по-разному. – Shaleen

ответ

2

Есть multiple notnull annotations, такие как IntelliJ's @NotNull, которые могут помочь, например.

public void myMethod(@NotNull Object o) 

Однако, если договор ваш метод требует параметров, чтобы быть ненулевым, вы могли бы также написать отказоустойчивость быстрый оборонительный код и, например, утверждать договор:

public void myMethod(Object o) { 
    Assert.assertNotNull(o); 

где Assert является, например, junit.framework.Assert входит в состав Android. Ключевое слово Java assert по умолчанию отключено в виртуальной машине.