这是 Java 包导入应该如何工作的吗?
我一直在为我的第一个正则表达式而苦苦挣扎.在编译过程中,Pattern和Matcher不断出现cannot find symbol错误.
我刚刚将 import java.util.* 更改为 import java.util.regex.*,它就像在做梦一样.
我的印象是 importing java.util.* 会也引入 java.util.*.* 等.不是这样吗?我找不到任何解决这个特定问题的文档......
是的,这就是包导入在 Java 中的工作方式(并且应该工作).例如,执行 import javax.swing.*; 将导入 javax.swing.* 中的所有 classes 但 不是 子包及其类.
所以,javax.swing.* 将 not 导入 javax.swing.event 或 javax.swing.event.*
阅读以下博客以获得一些友好的新手建议.p>
I've been struggling with my first regex. During the compile, Pattern and Matcher kept getting cannot find symbol errors.
I just changed import java.util.* to import java.util.regex.* and it works like a dream.
I was under the impression that importing java.util.* would also bring in java.util.*.* etc. Is that not the case? I can't find any documentation that addresses this specific question....
Yes, that is how package imports work (and are supposed to work) in Java. For example, doing import javax.swing.*; will import all classes within javax.swing.* but not sub-packages and their classes.
Ergo, javax.swing.* will not import javax.swing.event or javax.swing.event.*
Read the following blog for some friendly newbie advice.
相关文章