gpt4 book ai didi

java - Java 中的 "Cannot find symbol symbol : constructor ..."?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:34:06 25 4
gpt4 key购买 nike

我有一个定义如下的类...

public class df {
String dt;
String datestring;

public String df(String dtstring) throws Exception {
dt=dtstring;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date inpdate = formatter.parse(dt);
datestring = formatter.format(inpdate);
Date outpdate = formatter.parse(datestring);
SimpleDateFormat newformatter = new SimpleDateFormat("dd/MM/yyyy");
datestring = newformatter.format(outpdate);
return datestring;
}
}

我按如下方式创建此类的实例,其中 rsnpos.getString(1) 包含 yyyy-MM-dd 格式的日期(例如 2010-01-01)...

new df(rsnpos.getString(1))

在编译过程中,出现以下错误...

cannot find symbol
symbol : constructor df(java.lang.String)
location: class df

我不明白为什么会这样,因为我已经定义了一个构造函数,如我的代码所示。有人可以帮我解决这个问题吗。

最佳答案

那不是构造函数...(构造函数有一个隐式“返回类型”,类的类型)。它有一个显式返回类型,因此不是构造函数,而是一个名为df 的普通方法。

因此当用作 new df(...) 时它是无效的,这正是错误消息所说的。另一方面,由于默认的无参数构造函数和方法 String df(字符串).

注意将其更改为构造函数的更新:

public class df 
{

String dt;
String datestring;
// Remove return type (and keep matched name) to make it a constructor.
public df(String dtstring) throws Exception
{
dt=dtstring;
...
datestring = newformatter.format(outpdate);
// Constructors cannot "return"
// return datestring;
}

}

请研究变量名和命名约定以及可变性 redux :-)

关于java - Java 中的 "Cannot find symbol symbol : constructor ..."?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10200034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com