3

我一直在为我的第一个正则表达式而苦苦挣扎。在编译期间,Pattern不断Matcher出现cannot find symbol错误。

我刚换成import java.util.*import java.util.regex.*,它就像一个梦一样工作。

我的印象是importingjava.util.*也会带入java.util.*.*。不是这样吗?我找不到任何解决此特定问题的文档....

4

4 回答 4

9

不,包导入仅获取该包中的直接类(java.* 不会导入所有内容,只会导入诸如 Java.SomeClass 之类的类,而不是 java.util.SomeClass)

于 2012-08-06T19:28:24.937 回答
5

导入java.util.* 不会导入java.util.*.*

于 2012-08-06T19:28:54.510 回答
3

是的,这就是包导入在 Java 中的工作方式(并且应该工作)。例如,doingimport javax.swing.*;将导入所有javax.swing.*不会导入子包及其类。

因此javax.swing.*不会导入或javax.swing.eventjavax.swing.event.*

阅读以下博客以获得一些友好的新手建议。

于 2012-08-06T19:29:41.613 回答
2

请参阅下面链接中的链接和引用的摘录。

http://docs.oracle.com/javase/tutorial/java/package/usepkgs.html

导入 java.awt.* 会导入 java.awt 包中的所有类型,但不会导入 java.awt.color、java.awt.font 或任何其他 java.awt.xxxx 包。如果您计划使用 java.awt.color 和 java.awt 中的类和其他类型,则必须导入这两个包及其所有文件:

import java.awt.*;
import java.awt.color.*;
于 2012-08-06T19:33:38.337 回答