在Java中使用java.lang.ThreadGroup的问题

时间:2017-06-21 10:06:03

标签: java bluej pmd

我正在使用肯特大学开发的BlueJ环境创建游戏。有一个PMD插件用于检查代码的有效性。检查我的Start类的代码后,我遇到了一个问题 - PMD显示此警告消息:

Avoid using java.lang.ThreadGroup; although it is intended to be used 
in a threaded environment, it contains methods that are not thread safe

警告报告在此行:

System.setOut(new java.io.PrintStream(System.out,true,characterSet));

有我的代码:

import java.util.Scanner;

public class Start
{
    static Game game = new Game();

    public static void main(String[] args)
    {
        try {
           String characterSet=System.getProperty("myGame.encoding");
           if (characterSet != null) {
               System.setOut(new java.io.PrintStream(System.out,true,characterSet));
           }
        }
        catch (java.io.UnsupportedEncodingException e) {
            // unsupported encoding
        }

        String name;
        Scanner scan = new Scanner (System.in);     
        System.out.println("Enter Your nickname. \n ");              
        name = scan.nextLine();
        System.out.println ("\n Hello " + name + ", I am glad to meet You \n ");

        new TextInterface().play();
    }
}

我已经阅读了有关此主题的一些已经回答的问题,但在大多数情况下,这是PMD插件中的某种错误或某些无关的问题。我是Java的新手,这似乎是它的先进部分。我该如何解决这个错误?

1 个答案:

答案 0 :(得分:0)

这似乎肯定是PMD的一个错误。

  1. 您使用的是什么版本的PMD?请记住,最新版本是5.7.0。如果不使用它,请更新它并重新检查。
  2. 如果PMD 5.7.0问题仍然存在,请在PMD's issue tracker
  3. 上报告问题