gpt4 book ai didi

java - 使用 getter/setter 方法将 java 对象包装/解包为 Writable 对象是个好主意吗?

转载 作者:行者123 更新时间:2023-12-02 21:18:02 25 4
gpt4 key购买 nike

更具体地说,在 hadoop MapReduce 程序中,如果您使用自定义类,则该类需要实现 Writable 接口(interface)。并且它的所有成员都需要是可写的,例如

class WeatherData implements Writable{
Text stationId;
LongWritable timestamp;
IntWritable temperature;

}

但由于 Text、LongWritable、IntWritable 等类是原始数据类型的可写包装类。您不能对它们进行常规操作,例如算术运算或字符串操作等。

具有 getter setter 方法,例如
 public String getStationId(){
return this.stationId.toString();
}

public void setStationId(String stationID){
this.stationId = new Text(stationID);
}

将是有益的,因为外部世界可以将这些成员视为常规 Java 类,但在内部它们将存储为可写类的对象。

我的问题是这是否是良好的编码实践。使用这种 getter/setter 方法有哪些潜在的陷阱?

最佳答案

对我来说,这似乎不是一个好习惯。看看Writable Interface Documentation .您真正需要做的就是实现 readFields()write()方法。 (您的类(class)成员不需要自己是可写的 - 请参阅文档中的示例。)

关于java - 使用 getter/setter 方法将 java 对象包装/解包为 Writable 对象是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38231421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com