我已经创建了一个类vectorwritable,它实现了接口writable。我正试图将一个矢量可写对象写入输出文件,但得到以下结果:vectorwritable@1355b88b. 以下是我的写作方法:
public void write(DataOutput out) throws IOException { getVectorString().write(out); }
函数getvectorstring()提供一个文本对象。
wfauudbj1#
我没有意见,所以我会写它作为一个答案。如何在getvectorstring()中创建这个文本对象?你不是在vectorwritable对象上调用default tostring()方法吗,它返回字符串vectorwritable@1355b88b“除非重写它以返回描述对象的更有用的字符串?编辑:根据你的评论 Text vectorString 是…的成员 VectorWritable 同学们,这是你们设定的 Text 中的对象 set 所以我猜 set 方法也在里面 VectorWritable ,并且它不是静态方法,所以为什么要传递 VectorWritable 反对吗?看起来你可以调用这个 set 一对一方法 VectorWritable 对象,传递另一个给它 vectorString 与周围环境不匹配 VectorWritable 对象。你怎么写 VectorWritable 到输出?你会调用 write 你在问题里贴的方法是什么?因为这个输出 VectorWritable@1355b88b 看来你通过了 VectorWritable 作为调用其默认值的方法的参数 toString() 返回字符串的方法 VectorWritable@1355b88b .可写接口用于序列化对象。因此,您可以将对象写入输出并读回,但是在您的实现中,很难解析您创建的字符串并读回对象。实施示例
Text vectorString
VectorWritable
Text
set
vectorString
write
VectorWritable@1355b88b
toString()
public void write(DataOutput out) throws IOException { out.writeInt(counter); out.writeLong(timestamp); } public void readFields(DataInput in) throws IOException { counter = in.readInt(); timestamp = in.readLong(); }
1条答案
按热度按时间wfauudbj1#
我没有意见,所以我会写它作为一个答案。
如何在getvectorstring()中创建这个文本对象?你不是在vectorwritable对象上调用default tostring()方法吗,它返回字符串vectorwritable@1355b88b“除非重写它以返回描述对象的更有用的字符串?
编辑:
根据你的评论
Text vectorString
是…的成员VectorWritable
同学们,这是你们设定的Text
中的对象set
所以我猜set
方法也在里面VectorWritable
,并且它不是静态方法,所以为什么要传递VectorWritable
反对吗?看起来你可以调用这个set
一对一方法VectorWritable
对象,传递另一个给它vectorString
与周围环境不匹配VectorWritable
对象。你怎么写
VectorWritable
到输出?你会调用write
你在问题里贴的方法是什么?因为这个输出VectorWritable@1355b88b
看来你通过了VectorWritable
作为调用其默认值的方法的参数toString()
返回字符串的方法VectorWritable@1355b88b
.可写接口用于序列化对象。因此,您可以将对象写入输出并读回,但是在您的实现中,很难解析您创建的字符串并读回对象。实施示例