java - Java字符串中是否有格式说明符,例如python中的“%r”?
问题描述
在python中,%r
返回String (converts any Python object using repr()).
Java中是否有类似的格式说明符?
我想要得到的是某物。喜欢
String s = "String s = \"%s\";String.format(s, s)";
return String.Format(s, s);
这样,输出和输入是不同的,因为它包含转义字符\
。如果我们有%r
,我们可以省略该\"
部分。
解决方案
与 Python 最接近的 Java%r
是%s
. %s
转换将调用参数formatTo()
或toString()
参数,具体取决于其类型。
请注意,Python 或 Java 都没有提供repr()
任何关于生成内容的一般保证。例如,Python 的文档说:formatTo()
toString()
repr()
"对于许多类型,此函数尝试返回一个字符串,该字符串在传递给 eval() 时会产生具有相同值的对象,否则表示是一个包含在尖括号中的字符串,其中包含对象类型的名称连同其他信息,通常包括对象的名称和地址。”
它接着说一个类可能会覆盖默认repr()
行为。
在 Java 案例中,通用toString()
javadoc 的规范性甚至更低。
“返回对象的字符串表示。通常,该
toString
方法返回一个字符串,该字符串“以文本方式表示”该对象。结果应该是一个简洁但信息丰富的表示,易于人们阅读。
由于eval()
在 Java 中没有 Python 的等价物,因此没有通用的 Java SE 机制来提供可以嵌入到生成的 Java 源代码中的转义表示。
所以简短的回答是:不。没有什么能满足你的需要。
推荐阅读
- python - 向模型“输入”参数的最佳实践
- reactjs - 为什么这个 onChange 函数有效?
- c# - Resharper 抛出可能的“System.InvalidOperationException”
- android - 使用滚动捕捉时移动 Chrome 闪烁
- java - 数据源创建 - Spring MVC 和 MySql 中的故障处理
- reactjs - 如何通过 SWR 挂钩使用存储在缓存中的数据,以及如何使 SWR 仅获取一次
- ubuntu - Cloud Foundry cf dev start 无法找到 VM IP 地址
- java - 中间表上杰克逊的无限递归
- django - 如何在基于函数的视图而不是类中使用 Django Hitcount?
- c# - 将对象转换为 csv