在Python中,有一种非常好的方法可以简化字符串的创建,使代码美观,可读。
例如,以下代码将打印ExampleProgram -E- Cannot do something
print_msg('E', 'Cannot do something')
def print_msg(type, msg):
print 'ExampleProgram -{0}- {1}'.format(type, msg)
即。我可以指定" slot"在字符串中,使用{x}
语法,其中x
是参数索引,然后返回一个新字符串,在该字符串中用传递给.format()
方法的参数替换这些插槽
目前有了我的Java知识,我会以这种丑陋的方式实现这样的方法:
void printMsg(String type, String msg) {
System.out.println("ExampleProgram -" + type + "- " + msg);
}
是否有类似于Python .format()
字符串方法的内容?
答案 0 :(得分:6)
MessageFormat具有确切的用法。
int planet = 7;
String event = "a disturbance in the Force";
String result = MessageFormat.format(
"At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
planet, new Date(), event);
您可以简单地使用{0123}
而无需额外内容。
输出是:
At 12:30 PM on Jul 3, 2053, there was a disturbance in the Force on planet 7.
答案 1 :(得分:5)
System.out.format("ExampleProgram - %s - %s ",type, msg);
您可以使用System.out
中的格式方法。
然后使用以下内容:
String output = String.format("ExampleProgram - %s - %s ", type, msg);
此处type
和msg
属于String
类型。
对于任何整数使用%d
,浮点%f
和String
%s
。
您可以在java文档中找到有关格式输出的不同方式的所有信息。 Formatting Numeric Print Output
答案 2 :(得分:4)
例如:
String s = String.format("something %s","name");
答案 3 :(得分:1)
System.out.printf()怎么样?那么你可以使用c样式格式