2015-12-02 37 views
0

我正在尋找一個從excel文件讀取信息的小應用程序,我們將使用它來更新xml。.net屬性的Java相當於?

我非常良好的詩句在.NET中,在那裏,我只想簡單地創建一些屬性的新類來保存所有我從Excel的拉動值的文件

Public Class HouseNoteInfo 
    Private _MessageText As String 

    Public Property MessageText() As String 
     Get 
      Return _MessageText 
     End Get 
     Set(ByVal value As String) 
      _MessageText = value 
     End Set 
    End Property 

    Public Sub New(ByVal msgText As String) 
     _MessageText = msgText 
    End Sub 
End Class 

然後我將簡單地創建類,我將能夠有效的保持有序的數據,將能夠拉,我想這項目

Public NoteList As New Generic.List(Of HouseNoteInfo) 
... 
NoteList.Add(New HouseNoteInfo(msgText)) 

我一直試圖找到適用於Java的替代的名單,但我不要相信它們和.net有相同的getter/setter方法,所以我只能找到它d我可以創建一個包含我自己的方法來獲取和設置值的新類的HashMap,但對我來說感覺很笨拙,只是想知道是否有更有效的方法來解決這個問題?

+0

我相信,我不明白好你的問題,該代碼使用在Java中有完全相同的直接翻譯 –

+0

Java沒有C#支持的屬性。你要麼必須使用getter和setters,要麼直接使用封裝來直接訪問這些字段(使它們公開)。 – Thomas

回答

1
public class HouseNoteInfo { 

    private String messageText; 
    private boolean enabled; // to demonstrate getter/setter for booleans 

    // constructor 
    public HouseNoteInfo(String messageText) { 
     this.messageText = messageText; 
    } 

    // getter 
    public String getMessageText() { 
     return messageText; 
    } 

    // setter 
    public void setMessageText(String text) { 
     this.messageText = text; 
    } 

    // getter for boolean prefixed with "is" instead of "get" 
    public boolean isEnabled() { 
     return enabled; 
    } 

    // setter 
    public void setEnabled(boolean enabled) { 
     this.enabled = enabled; 
    } 

} 

List<HouseNoteInfo> list = new ArrayList<>(); 
list.add(new HouseNoteInfo("message text")); 
1

Java沒有像這樣的屬性概念,但是您可以對字段和方法執行相同的操作。這基本上是一樣的:

public class HouseNoteInfo{ 

    private String messageText; 

    public String getMessageText() { 
     return messageText; 
    } 

    public void setMessageText(String messageText) { 
     this.messageText = messageText; 
    } 

    public HouseNoteInfo(String messageText) { 
     this.messageText = messageText; 
    } 
} 
1

您可以通過這種方式在java中

public class HouseNoteInfo { 

    private String messageText; 

    public HouseNoteInfo(String msg) { 
     this.messageText = msg; 
    } 

    /** 
    * @return the messageText 
    */ 
    public String getMessageText() { 
     return messageText; 
    } 

    /** 
    * @param messageText the messageText to set 
    */ 
    public void setMessageText(String messageText) { 
     this.messageText = messageText; 
    } 
} 

然後

final List<HouseNoteInfo> noteList = new ArrayList<>(); 

... 

noteList.add(new HouseNoteInfo(msg));