2014-12-30 8 views
0

Я не ищу лучшей практики, поэтому для этого случая приемлемы плохие практики и хаки.Каков самый простой способ создания области внутри метода?

Предположим, я хочу повторно использовать имя переменной для разных типов в рамках одного и того же метода.

Например:

public static void scopeExample() { 
    if (true) { 
     Foo bar = new Foo(); 
    } 
    // "bar" is out of scope here 

    if (true) { 
     Snack bar = new Snack(); 
    } 
} 

Есть более простой способ охвата foo так что я могу повторно использовать его имя с различными типами, чем if (true) {...}?

+0

Для немного фона: Я строю тест JUnit. У меня есть несколько дочерних классов общего родителя. Я хочу установить не общие значения для дочерних типов. Я не хочу, чтобы меня бросали или у каждого было другое имя. Решение заключалось в том, чтобы поместить каждого в свою область (используя 'if (true) {...}'), использовать его, а затем отбросить его в конце области. Теперь я просто пытаюсь немного убрать/сократить. –

ответ

4

Новая сфера может быть сделано с { ... }:

{ 
    Foo bar = new Foo(); 
} 
0

Вы можете просто создать блок операторов:

{ 
    ... 
} 
Смежные вопросы