字符串格式化程序不格式化整个字符串

use*_*619 0 java

我正在尝试使用字符串格式化程序,但它没有按预期工作..

当我打印时SQL_QUERY,它只打印TABLE1,我想要整体结果"SELECT * FROM TABLE1"

package mysql.first;

public class twoconstructor {
    public static void main(String[] args) throws Exception {
            final String SQL_QUERY = "SELECT * FROM %s ".format("TABLE1");
    }
} 
Run Code Online (Sandbox Code Playgroud)

RNJ*_*RNJ 6

我认为必须如此

String.format("select * from %s", "TABLE 1");
Run Code Online (Sandbox Code Playgroud)

这是由于java中的奇怪之处在于您可以针对对象实例运行静态方法,因此可能会造成混淆.在这种情况下你的对象实例是"SELECT*FROM%s"(这是我最大的烦恼之一,因为它会引起这样的混乱)

看看文档.args元素是varargs所以它实际上不需要参数.