1

Java インポートとの混乱を許してください -- 私は Python のバックグラウンドを持っています。

itext ライブラリを利用するコードがいくつかあります。

public static void makeADoc (Person p, String outfile) throws DocumentException,FileNotFoundException{
        Document document = new Document;
        PdfWriter.getInstance(document, new FileOutputStream(outfile));
        document.open();
        document.add(new Paragraph("Hello " + p.getFirst() + ",\n" + "You've just won the lotto!"));
        document.close();
    }

該当する itext-pdf jar ファイルをプロジェクトのパスに追加しました。このクラスの先頭に、ワイルドカード インポート ステートメントを使用してライブラリ全体をインポートしました。

import com.itextpdf.*;

それでも、Eclipse では、Document オブジェクトと DocumentException および FileNotFound Exception オブジェクトに対して赤い下線付きのエラーが引き続き表示されます。itextpdf から Document クラスをインポートするオプションが与えられましたが、ワイルドカード ステートメントでそれをカバーする必要があったようです。どうしたの?

4

1 に答える 1

6

はパッケージFileNotFoundExceptionからではなく、itextpdfパッケージからjava.ioです。したがって、この import ステートメントも追加する必要があります。また、このようなワイルドカードのインポート ステートメントを使用すると、名前空間が乱雑になる可能性があるため、不適切な方法と見なされる場合があることにも注意してください。

さらに、ワイルドカード ステートメントを使用して、パッケージ内のすべてのクラスをインポートしますcom.itextpdf。ただし、クラスは ではなくDocumentExceptionパッケージ内にあるため、この import ステートメントも追加する必要があります。Java にはサブパッケージの概念がないことに注意してください。人間はこの類推を使用することがありますが。とはまったく別のパッケージです。com.itextpdf.textcom.itextpdfcom.itextpdf.textcom.itextpdf

于 2013-01-24T17:34:18.560 に答える