Java эквивалентен C # с использованием псевдонима

#c# #java

#c# #java

Вопрос:

Существует ли Java-эквивалент ключевому слову C # using, используемому в следующем примере?

 namespace TheirNamespace
{
    public class ContestedClassName
    {
    }
}

namespace MyNamespace
{
    public class ContestedClassName
    {
    }
}

namespace MyBoundaryNamespace
{
    using MyRenamedClass = MyNamespace.ContestedClassName;
    using TheirRenamedClass = TheirNamespace.ContestedClassName;

    public class Translator
    {
        public TheirRenamedClass Translate(MyRenamedClass value)
        {
            return null;
        }
    }
}
  

Ответ №1:

Нет, это невозможно сделать на Java, в этом случае вам нужно использовать полные имена классов.

Например.

 public TheirNamespace.ContestedClassName translate(MyNamespace.ContestedClassName value) {
}
  

Комментарии:

1. ооо … забыл о translate .

Ответ №2:

К сожалению, нет — если вы используете два класса с одинаковыми именами, вы должны явно ссылаться на них в пространстве имен:

 MyNamespace.ContestedClassName MyRenamedClass = new MyNamespace.ContestedClassName();
TheirNamespace.ContestedClassName TheirRenamedClass = new TheirNamespace.ContestedClassName();
  

Комментарии:

1. Вы можете импортировать один, а затем вам нужно будет использовать только полное имя для другого.

Ответ №3:

Я считаю, что нет. Вам пришлось бы использовать полное имя пакета:

ContestedClass c = com.somewhere.mypackage.ContestedClass
ContestedClass c2 = com.somewhere.else.ContestedClass

Ответ №4:

В Java 7 введена функция try-with-resources, которая является функциональным эквивалентом использования C #. Подробности можно найти здесь

Краткий пример:

попробуйте (BufferedReader br = new BufferedReader(новый файл для чтения)))
{
Строка line;
while ((строка = br.readLine()) != null) {
myList.add(строка);
}
}

catch (IOException e)
{
e.printStackTrace();
}

Комментарии:

1. Он использует using в C # в контексте определения импортированных пространств имен, а не using для утилизации одноразовых ресурсов.