Java相当于.NET的属性?

我正在寻找一个小的应用程序,从excel文件中读取信息,我们将用它来更新xml。

在.net中,我很好,在那里,我只是简单地创build一个新的类,有一些属性来保存我从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 

然后,我会简单地创build一个类的列表,我将能够有效地保持数据的顺序,并将能够拉我想要的物品

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

我一直在试图find一个替代Java,但我不认为他们有相同的getter / setter方法作为.net,所以我只能发现我可以创build一个新的类的HashMap包含我自己的方法来获得并设置的价值,但它感到笨重,我只是想知道是否有一个更有效的方式来做到这一点?

 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")); 

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

你可以用这种方式在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));