Java 如何将字符串转为源字符串代码?

是这样的,我需要通过 Java 执行代码字符串。我得到了一个字符串作为参数,现在要把这个字符串作为内部字符串代码的参数,涉及到诸多转义问题。请问有一步到位的办法吗?
比如:

public void exec(String cmd){
    ...
}

public void main(String[] argv){
    String c=getText();
    exec("System.out.println(\\"" + c + "\\");");
}

如果c中没有特殊字符还好,如果有\n之类的特殊字符,肯定会导致错误。所以我想把这些特殊字符还原。最好不要用replace

替换却不用replace?那岂不是自己去实现一个replace?或者说你自己循环判断一下你所要去除的特殊字符。
至于你说的想执行“源字符串代码”,大体思路分两种

  1. 把你的字符串代码写入某个文件,再给他加上类,主函数,然后编译,执行,和你自己写差不多
  2. 使用一些工具来直接运行,如apache的jexl3

不用replace的话,可用通过将字符串转换成char[],循环判断替换,再转换成String


    public static String unEscapeString(String s) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < s.length(); i++)
            switch (s.charAt(i)) {
                case '\n':
                    sb.append("\\n");
                    break;
                case '\t':
                    sb.append("\\t");
                    break; // ... rest of escape characters
                default:
                    sb.append(s.charAt(i));
            }
        return sb.toString();
    }