Java 在类中声明了long,但构造函数似乎在等待int
我有以下Java类:Java 在类中声明了long,但构造函数似乎在等待int,java,Java,我有以下Java类: class Adresse4 { private String strasse; private String hausnummer; private int postleitzahl; private String ort; private long telefon; Adresse4(String strasse, String hausnummer, int postleitzahl, String ort, long
class Adresse4 {
private String strasse;
private String hausnummer;
private int postleitzahl;
private String ort;
private long telefon;
Adresse4(String strasse, String hausnummer, int postleitzahl, String ort, long telefon) {
this.strasse = strasse;
this.hausnummer = hausnummer;
this.postleitzahl = postleitzahl;
this.ort = ort;
this.telefon = telefon;
}
Adresse4(Adresse4 ad) {
this.strasse = ad.strasse;
this.hausnummer = ad.hausnummer;
this.postleitzahl = ad.postleitzahl;
this.ort = ad.ort;
this.telefon = ad.telefon;
}
}
从这个类创建一个对象,如下所示:
Adresse4 adTest = new Adresse4("Lothstraße", "22", 80999, Ort.Berlin, 09909999);
我的IDE告诉我,整数太大,我已经声明了一个long
如何解决此问题?以
0开头的数字是八进制的。e、 g.012
是十进制的10
数字09
无效,因为9
不是八进制数字
简而言之,电话号码不是整数,它们通常包含格式,例如国际电话号码的前导0或+
。最好将其存储为字符串
或包装字符串的电话号码
类型
e、 g.我的电话号码从+44 75…
开始,而+
将作为一个整数丢弃。可能重复的long
文本必须以L
作为后缀。已经尝试过,但没有效果。电话号码最好用字符串来表示,而不是数值。@Pillar,或者更进一步,电话号码最好用一个类来表示;我不喜欢使用字符串对象进行域建模。