0

以下语句返回 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
4

4 回答 4

13

虚空什么都不是。你不打印它。如果你不想打印“void”,你可以这样做

System.out.println("void");
于 2013-09-12T09:54:38.297 回答
11

void 不是对象。所有 void 返回类型状态是该方法不会返回任何内容。所以答案是否定的,没有办法打印 void,因为没有什么可打印的。

关于您编辑的问题,您得到一个字符串,因为 Matcher.group() 返回一个字符串不是无效的。请参阅文档

于 2013-09-12T09:53:56.307 回答
3

你不能打印不存在的东西。

于 2013-09-12T09:57:11.540 回答
3

Void.class你可以使用的。如果你尝试Void.class.toString()它会返回

class java.lang.Void
于 2013-09-12T10:00:52.570 回答