Java编译器问题:找不到符号

时间:2014-03-12 02:13:01

标签: java date symbols

我正在尝试将String格式化为日期但是却遇到了java编译器错误:

代码片段是:

String value = String.valueOf(entry.getValue());
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
//String dateInString = value;
SimpleDateFormat parse = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.ENGLISH);
if (isFirst){
   Date date = parse.parse(value);
   //Then I'll just put the date variable into a cell in the html table. 

我得到的错误:

无法找到符号

 [javac] symbol  : constructor SimpleDateFormat(java.lang.String,java.util.Locale)
     [javac] location: class com.lb.base.util.extra.SimpleDateFormat
     [javac]                             SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
     [javac]                                                          ^

我在两次声明新的SimpleDateFormat时得到了这个。我检查过导入不是问题。很不清楚那是什么..为什么我得到这个'找不到符号'错误?

4 个答案:

答案 0 :(得分:2)

谢谢大家,我通过评论第一次导入修复了它 com.lb.base.util.extra.SimpleDateFormat

并添加

import java.text.SimpleDateFormat;

在它下面。猜猜我们不能让这两种进口同时发生。

答案 1 :(得分:1)

您的导入似乎已关闭。你想使用java的SimpleDateFormat,而不是com.lb.base.util.extra。

答案 2 :(得分:1)

显然您正在尝试导入com.lb.base.util.extra.SimpleDateFormat

你的意思是导入java.text吗?如果是,请尝试更改为:

import java.text.SimpleDateFormat;

或者更改您调用构造函数的行:

java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);

答案 3 :(得分:0)

代码中的某些内容或您使用的代码非常奇怪地期望非标准类的非标准版本。您应该在源代码中搜索此import语句:

import  com.lb.base.util.extra.SimpleDateFormat;

或者名为的类/ java文件 SimpleDateFormat.java

如果没有直接访问您的计算机,这很难诊断,但似乎您正在尝试使用两个名称完全相同的类。

另一个想法:而不是这个

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);

尝试使用显式包名来绕过import语句:

xbn.text.SimpleDateFormat formatter = new xbn.text.SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);

我假设你想要使用标准的Java版本。

以下链接提供了一些可能具有指导意义的信息:

https://www.google.com/search?q=is+already+defined+in+a+single-type+import+%5Bjavac%5D+import