下面的语句返回 void
Pattern lazy = Pattern.compile("X??");
Matcher lazyMatcher = lazy.matcher("X");
if (lazyMatcher.matches()) {
System.out.println(lazyMatcher.group());
}
有没有办法在 java 中打印 void。
我尝试了以下 2 个语句,但没有帮助
System.out.println((String)lazyMatcher.group());
System.out.println(lazyMatcher.group().toString());
=========================================================================================更新
为什么我在下面打电话时会收到字符串
System.out.println(lazyMatcher.group().getClass()) // returns string
System.out.println(lazyMatcher.group()) // returns void
void 什么都不是。你不打印它。如果你不想打印"void",你可以这样做
System.out.println("void");
void
不是一个对象。所有 void 返回类型状态都是该方法不会返回任何内容。所以答案是否定的,没有办法打印空白,因为没有什么可打印的。
关于您编辑的问题,您得到一个字符串,因为 Matcher.group() 返回一个不为空的字符串。查看文档
您可以使用
Void.class
。如果您尝试Void.class.toString()
它将返回
class java.lang.Void
你不能打印不存在的东西。