【问题标题】:cannot convert void to "classname" [duplicate]无法将 void 转换为“类名”[重复]
【发布时间】:2013-01-28 09:13:42
【问题描述】:

我正在尝试创建一个可以存储在数组中的线程类,这将使我更容易处理从客户端到服务器的用户输入。

这是我的 PongPlayerThread

package Pong;

import java.net.*;
import java.io.*;

public class PongPlayerThread extends Thread 
{
private Socket socket = null;
private String pongData = "";

public PongPlayerThread() 
{
    //clear
}

public PongPlayerThread(Socket socket, int id, String data) 
{
    //super("PongPlayerThread");
    pongData = data;
    this.socket = socket;
}

public void passData(String data)
{
    pongData = data;
}

public void run()
{
    try
    {
        PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
        while(true)
        {
            out.println(pongData);
        }
    }
    catch (IOException e) 
    {
        e.printStackTrace();
    }
}

}

现在在我的服务器上的这一行,客户端可以连接

players[0] = new PongPlayerThread(serverSocket.accept(), 0, rtnInfo()).start();

我收到此错误 “无法从 void 转换为 PongPlayerThread”为什么会这样?我已经搜索过了,但是当你的类名出现错误时,这很难。

我现在有这个代码

        players[idPlayer] = new PongPlayerThread(serverSocket.accept(), idPlayer, rtnInfo());
        players[idPlayer].start();

但是当客户端连接我得到这个错误 乒乓 400.0:301.0:60.0:300.0:740.0:300.0 服务器启动 服务器已设置并将尝试创建一个套接字 线程“主”java.lang.NullPointerException 中的异常 在 Pong.PongServer.main(PongServer.java:82)

它指向的线是 玩家[idPlayer] = new PongPlayerThread(serverSocket.accept(), idPlayer, rtnInfo()); ???

【问题讨论】:

    标签: java networking tcp


    【解决方案1】:

    问题是 Thread.start() 返回 void,而您正试图将 new PPT(...).start() 的结果分配给 players[0]

    new PPT(...).start() 返回 void,因此编译器抱怨它无法将此 void 转换为 PongPlayerThread 类型的对象。

    【讨论】:

      【解决方案2】:
      players[0] = new PongPlayerThread(serverSocket.accept(), 0, rtnInfo());
      players[0].start();
      

      【讨论】:

      • 好的,当我现在运行我的代码时,我得到了这个 Pong 400.0:301.0:60.0:300.0:740.0:300.0 服务器已启动 服务器已设置并将尝试在线程“main”java 中创建套接字异常.lang.NullPointerException at Pong.PongServer.main(PongServer.java:82) 如果你想要服务器的代码就说
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      相关资源
      最近更新 更多