- ベストアンサー
<>の使い方
komi1341の回答
ジェネリックスという、JDK5からの新機能です。こちらが分かりやすいかと思います。 http://www.stackasterisk.jp/tech/java/jdk501_01.jsp
関連するQ&A
- デフォルトコンストラクタで分からないことがあります。
デフォルトコンストラクタ デフォルトコンストラクタで分からないことがあります。 以下のコードです。 > template<class T1, class T2> > struct pair > { > T1 first; // 1つ目の値 > T2 second; // 2つ目の値 > > // デフォルトコンストラクタ > pair() : first( T1() ), second( T2() ){} > > // 引数付きコンストラクタ > pair(const T1& a, const T2& b) : first( a ), second( b ){} > }; このコードの中の pair() : first( T1() ), second( T2() ){} で初期化子による初期化をしていると思うのですが「T1()」と「T2()」は具体的に 何をしているのでしょうか?自分の想像ではfirstとsecondに何か初期化の値を代入して初期化していると思うのですが何でしょうか? なお、その次のコードの意味は分かります。 > pair(const T1& a, const T2& b) : first( a ), second( b ){} これは、引数a,bを持っていてそれぞれfirstにaを代入してsecondにbを代入して初期化しているのですよね。 なお、このコードが掲載されているサイトはここです。 http://www.geocities.jp/ky_webid/cpp/library/011.html
- ベストアンサー
- C・C++・C#
- Javaの初期化メソッドについて
こんにちは。Javaの初心者です。 Javaの初期化メソッド(initメソッド)についてなのですが、処理を記述しても実行してくれません。 恐らく使い方が間違ってるかと思われるのですが、ネットで調べてもあまり検索結果がでてこなかったので、質問させてもらいました。 以下サンプルコード import java.lang.*; public class Test { static int a; public void init() { a = 10; } public static void main(String[] args) { System.out.println(a); } } 実行してみても、「0」と表示されるだけで、「10」と表示してくれませんでした。 どこかコードが間違えてるのでしょうか? それとも初期化メソッドはアプレット用であってアプレットで使わないと意味がないというものなのでしょうか? 因みに関係ないかと思われますが、グローバル変数は自動的に初期化される(0が代入される)ということは知っています。 ご教授の方、よろしくお願い致します。
- ベストアンサー
- Java
- C# 例外が発生しないことの保障
Javaと比較して書きます。 Javaで記述した場合: public class JavaClass { public static SampleClass s = new SampleClass(); } C#で記述した場合: public class CSharpClass { public static SampleClass s = new SampleClass(); } JavaでもC#でも、同じコードを記述しているように見えますが、Javaではnew SampleClass()コンストラクタで例外が発生しない事が分かっているのに対して、C#の場合では例外が発生しないとは言い切れません。 これは、Javaでは、例外をスローする可能性のあるメソッド宣言では、その全てについてthrows宣言をしなければいけないのに対して、C#にはこの制約が存在しないことが原因です。 これについて何が困るかといいますと、C#で、static宣言な変数や静的コンストラクタで安易にメソッド呼び出し等を行うと、キャッチできなくなってしまいます。 public class Exceptionner { public Exceptionner() { throw new ApplicationException("Exceptionnerクラスの例外"); } } public class SampleClass { public static Exceptionner e = new Exceptionner(); // ここで例外が発生するが、キャッチできない。 } public class MyEntryPoint { public static void Main() { try { SampleClass s = new SampleClass(); } catch (Exception e) { // System.ApplicationExceptionでなくSystem.TypeInitializationExceptionとなる。 // つまり、元の例外の情報は失われている Console.WriteLine(e.GetType()); } } } これを現在漠然と問題視していますが、何かよい解決策はありませんでしょうか。 望んでいる解決策: ・C#でもメソッドが例外を返さないという保障がソースレベルでメソッドやコンストラクタに宣言可能? ・C#では例外をちゃんとキャッチしなくてもスマートに記述することが可能? ・問題視する必要がない?(whyも含めて)
- ベストアンサー
- C・C++・C#
- java で #include
Cでいう、#include をjavaでしたいのですが、何か手はありませんか? 例えば、 in hogehoge.java public class hogehoge { #include "hogehoge.h" コード一杯 } in hogehoge.h private static String=データ一杯 みたいなイメージです こんな感じも可能かな? in hogehoge.java public class hogehoge { public static main() { String hogedata[][]=hogehogedata.hogehogedataget(); } } in hogehogedata.java public class hogehogedata { private static String hogehogedata_all[][]=データ; public static String hogehogedataget() { return hogehogedata_all; } } スマートなやり方を御教授下さい。
- ベストアンサー
- Java
- mainメソッドと同じオブジェクト内のメソッドにはstaticを必ずつ
mainメソッドと同じオブジェクト内のメソッドにはstaticを必ずつけなければならないのでしょうか? そのような記述を見掛けたのですが、もしこれが正しいという場合、 それは、なぜなのでしょう? java初心者ですが、どうぞ宜しくお願いいたします。 class MainClass{ //先頭のstaticに注目 static void sub(){ ~~ } //mainメソッド public static void main(String[] args){ sub(); } }
- ベストアンサー
- Java
- java public static
java言語の「public static」について javaで使われる「public static」はどこからでもアクセスできるという意味で間違ってますか? またstaticがつくことにより静的なメソッドになり コードを読み込む際、複数のthreadになってしまうこともありますでしょうか? 意味が通じてなかったらスミマセン。
- ベストアンサー
- Java
- ヨーロッパの鉄道運賃の見方。
ヨーロッパの鉄道運賃を検索していたら、以下のように出てきました。 2nd Class, One-way 2nd Class, One-way 1/2 2nd Class, Return 2nd Class, Return 1/2 1st Class, One-way 1st Class, One-way 1/2 1st Class, Return 1st Class, Return 1/2 1等・2等、片道・往復は分かるのですが、 「1/2 」というのは何を表しているのでしょうか?料金も半額になるので、子供料金???
- ベストアンサー
- ヨーロッパ
- Cの関数内ローカルstatic変数
と同様の機能をJavaで実現したいのですが class Testclass { testmethod() { //////////////////////// //ここだけにしかコードを書けない //////////////////////// } } という条件で Testclass testclass=new Testclass(); が最初に生成された後他メソッド内で testclass.testmethod(); が実行されるたびに 1カウントアップする変数countを作成することはできるでしょうか? 上のように1つのメソッド内だけしかコーディングできません Cならば static int count=0; count++; を記述すれば片付くのですが Javaの場合はメソッド外に記述しない限りできないのでしょうか?
- ベストアンサー
- Java
- スイス鉄道の料金検索表示について
はじめまして。 今度スイスへ旅行しに行きますが、 http://www.sbb.ch/ のサイトを見て、区間乗車券の値段を見ていますが、 料金の表示方法がよくわかりません。 チケットオーダーでチューリッヒ-バーゼルを調べたら… 2nd class, Single journey 34.00 CHF 2nd class, Single journey 1/2 17.00 CHF 2nd class, Return journey 68.00 CHF 2nd class, Return journey 1/2 34.00 CHF 1st class, Single journey 57.00 CHF 1st class, Single journey 1/2 28.50 CHF 1st class, Return journey 114.00 CHF 1st class, Return journey 1/2 57.00 CHF となっていますが、 片道・往復料金まではわかりますが、 1/2の意味が良くわかりません。 大人料金・子供料金でしょうか? それとも割引か何かでしょうか? ご存知の方、宜しくお願いします。
- ベストアンサー
- その他(海外旅行・情報)
- classが作られない
javaをはじめて2日目です。以下がコンパイルしたところ、エラーがでなかったのですが、classが作られていません。何回か試したのですが、参考書には、 >javac Sample2.java とし、もう一度ディレクトリ名が出れば、コンパイル完了とあるのですが、classが作れていないので、実行が出来ません。 すみませんが、教えてください。 //画面に文字を出力するコード class Sample1 { public static void main(String args[]) { System.out.println("ようこそjavaへ!"); System.out.println("javaをはじめましょう!"); } } ちなみに保存名は、Sample2.javaです。
- ベストアンサー
- Java