• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:import文はルートクラス指定とサブクラス指定では処理・モジュールサイズに影響?)

import文のルートクラス指定とサブクラス指定の処理・モジュールサイズへの影響

このQ&Aのポイント
  • import文のルートクラス指定とサブクラス指定は処理・モジュールサイズに影響するのか?
  • import文のコンパイル速度への影響は考えられるが、実処理への影響はどうか?
  • import文の数が多い場合にモジュールサイズに影響があるかもしれない

質問者が選んだベストアンサー

  • ベストアンサー
  • hidebu-
  • ベストアンサー率53% (45/84)
回答No.1

バイトコードになってしまったら、まったく関係ありません。 なぜなら、オプティマイザがコンパイル時に import java.util.*; Date objDate; とあれば java.util.Date と最適化してimport文は全部消去してしまいます。 ですから A)import java.util.Date; Date objDate; B)import java.util.*; Date objDate; C)java.util.Date objDate; の場合、最終的に全部Cの形に最適化されます。 あと、JAVAはスタティックリンクではないのでどのライブラリを参照しようがそれ自体のモジュールサイズは変わりません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • *でimportするのと、クラス名まできちんと指定するのと

    Javaの開発経験は2年くらいですが、未だに疑問でした。 例えばVectorクラスを使いたいとき import java.util.Vectorとする人もいれば、 import java.util.* としてしまう人もいますよね。 前者の人は使うクラスが増えるたびに、丁寧にクラス名でインポートします。*は一切使いません。 やっぱりこの方がメモリを食わない、等の理由でよいのでしょうか?特に最近、こういうソースを良く見かけます。

    • ベストアンサー
    • Java
  • import 文

    import 文では import java.util.* としたり import java.util.ArrayList などのようにクラスごとに指定したりしますが、 この二つの違いとして 大抵の状況で 体感できるほどの速度の差なんてないですよね? つまり、java.util.* としたからと言って、アプリケーションに影響を与えるほど速度が遅くなると言うことはないですよね。

    • ベストアンサー
    • Java
  • なんどやってもエラーが・・・SQLserverへの接続

    f_0005flistup$jsp.java [84:1] シンボルを解決できません。 シンボル: メソッド forNmae (java.lang.String) 場所 : java.lang.Class の クラス Class.forNmae(drv); ^ エラー 1 個 コンパイルエラー f_listup. JSPからSQLサーバーに接続しようと考えています。 importは、import="java.sql.*,java.io.*,java.util.*,java.text.*" をいれてます。 原因は何でしょうか・・・。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • Scannerクラスについて

    僕はeclipse3.2を使っています。 Scannerクラスを使うためにjava.util.*をインポートしたのですが、 java.utilにScannerがみつからないというエラーが出たのですが、どうしたらいいのでしょうか?

    • ベストアンサー
    • Java
  • PreparedStatementを使用したDBへの書き込み

    検索させていただいたのですが、同じ事例が見当たらなかったので、質問させてください。 タイトルのようにPreparedStatementを使用してDBへ書き込みたいのです。 import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.Statement; import java.sql.ResultSet; import java.sql.DriverManager; import java.util.Vector; import java.util.Hashtable; import java.util.Date; import java.util.Iterator; ~略~ Date date = new Date(); insert.setString(1,loginid); insert.setInt(2,cart.getGoodsid()); insert.setInt(3,cart.getOrdernum()); insert.setDate(4,date); ※ insert.executeUpdate(); ~略~ というような感じで行いたいのですが、 ※部分でコンパイルエラーになってしまいます。 (この場合はシンボルを解決できませんとなります) 上記以外にもいろいろ試してみましたが、 どうしてもわかりません。 回答よろしくお願いします。

  • Retrofit インポート文

    javaにはライブラリという概念があると思いますが どのライブラリにもimport文があるのは当たり前ですか? 例えば「retrofit2」というライブラリなら import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; みたいに、どのライブラリにもimport文は用意されているのでしょうか? 初歩的な質問ですが答えて頂けると嬉しいです

    • ベストアンサー
    • Java
  • Beanクラスのimportについて

    Beanクラスを作成し、そのBeanクラスをServletでimportしたいのですがコンパイルするとエラーになってしまいます。 Bean(TestBean.java)をsampleパッケージに保存してコンパイルした後に Servlet(Test.java)を ----------------------------------------------- import sample.TestBean; import javax.servlet.*; ・・・・・・・ ・・・・・・・ ------------------------------------------------ として、sampleファイルのひとつ上のディレクトリーに保存してコンパイルすると Test.java:1: シンボルを解釈処理できません。 とエラーになってしまいます。 原因がお分かりになるかた、ご教授をお願いできないでしょうか。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • JBuilder6

    今、JBuilder6でネットワーク用のjavaプログラムを作ろうかという話です。 import java.util.*; import java.io.*; import org.w3c.dom.*; import javax.xml.parsers.*; //import org.apache.crimson.tree.XmlDocument; ↑これ入れるとないといわれる。どこにあるのでしょう? ... Document doc = new XmlDocument(); の所を、コンパイルしようとすると、 "xxx.java": エラー #: 300 : クラス XmlDocument が見つかりません: クラス xx.xxxx.xxxxx 行 xx, 列 xx というエラーメッセージが出ます。 この原因と対策についてどなたかご存知の方がいましたら、お願いします。

    • ベストアンサー
    • Java
  • リフレクションでフィールドに値を設定

    リフレクションで取得したクラスの一覧の各クラスのString型のフィールドにだけ 任意の値を設定するサンプルを下記のように作成しました。 このプログラムの流れの中でString型のフィールドに任意の値を設定するには どのように書けばよいでしょうか。 調べてみるとFieldクラスのsetメソッドを使用するようですが下記サンプルの中で 第一引数には何を渡せばよいかがわからないです。 【サンプル】 ※最初のgetClasses()で指定パッケージ配下のクラスは取得できています。 import java.io.File; import java.io.IOException; import java.lang.reflect.Field; import java.net.URISyntaxException; import java.net.URL; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; public class ReflectionTest { public static void main(String[] args) { List<Class<?>> classes; try { // 指定したパッケージ配下のクラスを取得 classes = getClasses("test"); for (Class<?> class1 : classes) { Field[] fields = class1.getDeclaredFields(); for(Field field : fields) { field.set(????, "任意の文字列"); // 第一引数に何を渡せばよい?? System.out.println(field.getType().getName()); } } } catch (ClassNotFoundException | IOException | URISyntaxException e) { e.printStackTrace(); } } }

    • ベストアンサー
    • Java
  • コレクションクラスについて

    ●下記のコードについて質問があります import java.util.*; public class Test { public static void main(String args[]) { ArrayList<ObjectOne> list = new ArrayList<ObjectOne>(); list.add(new ObjectOne()); list.add(new ObjectOne()); list.add(new ObjectOne()); Collections.sort(list); } } class ObjectOne { private int x = 0; private int y = 0; } このソースをコンパイルすると、 シンボル: メソッド sort(java.util.ArrayList<ObjectOne>) 場所 : java.util.Collections の クラス Collections.sort(list); と、エラーが表示されてしまいます。 java.util.*をインポートしているので、上記のようなエラーはでないと 思うのですが、うまくいかないです。おそらく、ObjectOneクラスで 何か処理漏れが起きているのかもしれませんが、エラーとなる原因を 特定することができません。 エラーとなる原因と解消する手立てを教えていただければと思っております。 宜しくお願い致します。 「追記」 ArrayList<ObjectOne> list = new ArrayList<ObjectOne>(); の<ObjectOne>を消せばエラーはなくなりますが、 <ObjectOne>を消さない方針で考えがあればと思っております。