Java 将值从一个类传递到另一个可调用类
我有一个具有以下代码的类Java 将值从一个类传递到另一个可调用类,java,multithreading,callable,Java,Multithreading,Callable,我有一个具有以下代码的类 public class DocTransformer implements Callable<IndexableDocument> { WDoc document; public DocTransformer(Map<INDEXFIELD, Tokenizer> tknizerMap, WDoc doc) { this.document = doc; } public IndexableDoc
public class DocTransformer implements Callable<IndexableDocument> {
WDoc document;
public DocTransformer(Map<INDEXFIELD, Tokenizer> tknizerMap, WDoc doc) {
this.document = doc;
}
public IndexableDocument call() throws TokenizerException {
System.out.println("Inside doctrans: "+this.document.getId());
}
}
runner类调用DocTransformer。我可以访问DoctTransformer内部的WDoc,因为它是从runner类调用的,并且对象是从它传递到DoctTransformer的。但是我需要访问IndexableDocument中的WDoc对象。如何实现?请解释我的问题是否需要重新表述,因为我对线程非常陌生。您可以为此WDOC创建一个getter和Setter用于它,并且不要忘记将WDOC设置为final
Exchanger<WDoc> exchanger = new Exchanger<WDoc>(); \\do it inside some Cover Thread(mb your main class)
currentWdoc = exchanger.exchange(doc); \\ inside getter
交换器=新交换器()\\在一些封面线程内执行(mb您的主类)
currentWdoc=exchanger.exchange(doc);\ \内吸气剂
如果您只需要读取WDOC。您可以只使用getter和final字段您不能只为
WDoc doc
字段添加一个getter吗?
Exchanger<WDoc> exchanger = new Exchanger<WDoc>(); \\do it inside some Cover Thread(mb your main class)
currentWdoc = exchanger.exchange(doc); \\ inside getter