Java 在类中声明了long,但构造函数似乎在等待int

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

我有以下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 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,或者更进一步,电话号码最好用一个类来表示;我不喜欢使用字符串对象进行域建模。