Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我要在Java中无休止地添加字符串_Java - Fatal编程技术网

为什么我要在Java中无休止地添加字符串

为什么我要在Java中无休止地添加字符串,java,Java,我正在写一个游戏,当我试图向服务器发送聊天信息时,我得到了一个奇怪的内存泄漏。 发送字符串: !聊天测试 变成: !chat¥test !chat¥!chat¥test !chat¥!chat¥!chat¥test !chat¥!chat¥!chat¥!chat¥test !chat¥!chat¥!chat¥!chat¥!chat¥test !chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test !chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!

我正在写一个游戏,当我试图向服务器发送聊天信息时,我得到了一个奇怪的内存泄漏。 发送字符串: !聊天测试 变成:

!chat¥test
!chat¥!chat¥test
!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
Ect, ect.


Sending message:

Utils.sendChat(message.getText());

public static void sendChat(String s) {
    System.out.println(s);
    sendChat("!chat"+Wrapper.commandSplit+s);
}

public static void sendTextLine(String s){
    s = s.replace(" ", "[SPACE]");
    System.out.println(s);
    Wrapper.pw.write(s);
     Wrapper.pw.flush();
}
我不知道为什么会这样,有人能帮我吗? 我使用¥分割字符串中的变量,以前没有给过我任何问题,所以我怀疑这与此有关

谢谢

public static void sendChat(String s) {
    System.out.println(s);
    sendChat("!chat"+Wrapper.commandSplit+s);
}
这是一个无休止的循环,每次您再次调用sendChat时,都会生成越来越长的字符串


您可能想在第二行调用sendTextLine?

getText是如何工作的?这可能是因为您在添加同一个文本,而不是内存泄漏,而是告诉服务器要发送的文本的作用域问题。有两件事……大多数人使用逗号进行分隔,我很确定您只是在递归调用sendChat。无止境循环不属于内存泄漏问题。@chaitanya10:请改进您的设置英语ur是为在手机上发短信的青少年设计的。所以不会因为有人胆敢浪费你的磁盘空间而耗尽磁盘空间并爆炸。@MarcB它实际上不是英语english@user1681891所以说谢谢有自己的机制->接受答案。请看,我希望用户1681891回来并将其标记为正确的…在此之前,请使用+1不要抱太大希望,0%接受率