Java PipedWriter和PipedReader在不同类中使用时返回NullPointerException
我在java中使用pipedwriter和pipedreader从管道读写数据,但我遇到了一个问题,当我试图在另一个类中使用pipereader时,它返回空指针异常。请检查下面的代码,当尝试使用pipedreader.read()读取数据时,类RP给出了NullPointerException;方法Java PipedWriter和PipedReader在不同类中使用时返回NullPointerException,java,Java,我在java中使用pipedwriter和pipedreader从管道读写数据,但我遇到了一个问题,当我试图在另一个类中使用pipereader时,它返回空指针异常。请检查下面的代码,当尝试使用pipedreader.read()读取数据时,类RP给出了NullPointerException;方法 明显的问题是您有两个WP实例,但只对其中一个实例调用run 这是您调用的run上的WP: public static void main(String[] args)throws Exception
明显的问题是您有两个
WP
实例,但只对其中一个实例调用run
这是您调用的run
上的WP
:
public static void main(String[] args)throws Exception {
WP writer = new WP();
这是您使用的未初始化的WP
:
class RP extends Thread{
WP obj = new WP();
值得注意的是,创建一个线程调用start
,然后紧接着调用join
,没有什么意义。您不妨调用run
函数
为了避免null
s,我建议标记字段final
class RP extends Thread{
WP obj = new WP();