在我的POJO中,我通常会声明像这样的字段
class SampleModel {
var field1: String? = null
var field2: Int? = null
<more fields here>
}
如果我这样声明,我将需要检查该字段是否为空。
但如果是这样的话:
class SampleModel {
var field1 = ""
var field2 = 0
<more fields here>
}
我可以直接使用它。
使用哪种声明是否重要? 就记忆,表现或任何良好做法而言都是如此?
假设我有100个领域。 然后我使用Moshi或Gson作为解串器。
答案 0 :(得分:1)
最后,即使超出性能考虑因素,代码质量也是如此。如果在您的用例中字段永远不会为null,那么我不会使用可空类型。你正在强迫自己做额外的工作(虽然Kotlin让它更容易一些),以迎合你认为不可能的场景?
另一方面;如果序列化中的字段在此方案中丢失,则可能无法立即捕获它,因为类中的字段具有默认值。如果您对提供的数据有信心,虽然这应该不是问题。
答案 1 :(得分:1)
在您选择这两种方法时,不应考虑IMO,记忆和表现。这取决于你希望班级表现的方式。具有默认值(方法2)或null(方法1)。当你需要处理这个类的逻辑时,这很重要。