簡體   English   中英

Java與使用別名的C#等效

[英]Java equivalent to C# using alias

是否存在與以下示例中使用的C#using關鍵字等效的Java?

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;
        }
    }
}

不,在Java中無法做到,在這種情況下,您需要使用完全限定的類名。

例如

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

不幸的是,沒有-如果您要使用兩個具有相同名稱的類,則必須通過名稱空間明確引用它們:

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

我相信不會 您將必須使用完整的軟件包名稱:

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

Java 7引入了try-with-resources,它與C#使用的功能等效。 可以在這里找到詳細信息

快速示例:

嘗試(BufferedReader br = new BufferedReader(new FileReader(file)))
{
字符串行;
while((line = br.readLine())!= null){
myList.add(line);
}
}

捕獲(IOException e)
{
e.printStackTrace();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM