5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

★★Java質問・相談スレッド156★★

1 :デフォルトの名無しさん:2012/08/07(火) 23:36:50.65
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)ttp://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
★★Java質問・相談スレッド155★★
http://toro.2ch.net/test/read.cgi/tech/1340976913/

2 :デフォルトの名無しさん:2012/08/08(水) 06:05:40.57
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing & JavaFX 10
http://toro.2ch.net/test/read.cgi/tech/1316592884/
■ SWT は --
Java 高速GUI SWT 3
http://hibari.2ch.net/test/read.cgi/tech/1164877399/

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part22
http://hibari.2ch.net/test/read.cgi/tech/1295766416/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
http://hibari.2ch.net/test/read.cgi/tech/1249357352/
■ Androidアプリの作成は --
Androidプログラミング質問スレ Part24
http://toro.2ch.net/test/read.cgi/tech/1343141095/

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 72 ★★
http://toro.2ch.net/test/read.cgi/tech/1337692704/

■ NetBeansに関する雑談は --
NetBeans Part6
http://toro.2ch.net/test/read.cgi/tech/1273665879/
■ Eclipseに関する雑談は --
Eclipse統合M33【Java/C++/Ruby/Python/Scala】
http://toro.2ch.net/test/read.cgi/tech/1340974518/

**** 開発環境、実行環境は ****
■ Java SE Downloads
http://www.oracle.com/technetwork/java/javase/downloads/index.html

3 :デフォルトの名無しさん:2012/08/08(水) 06:22:25.68
↓以下前スレに引き続き再帰の適切な使い方を知らない馬鹿達によるレスの応酬


4 :デフォルトの名無しさん:2012/08/08(水) 08:44:01.64
再起厨リソース観点ないことがバレて顔真っ赤WWWWWWWWW

5 :デフォルトの名無しさん:2012/08/08(水) 08:46:50.42
指摘されて言い返せないのがよほど悔しかったんだろうな
わからない分野は口出さなきゃいいのにあほだよな

6 :デフォルトの名無しさん:2012/08/08(水) 12:08:54.15
Windowsのネィティブなスレッドでは
一度成長したスタックは二度と縮小しないんじゃなかったっけ?

一度でもStackOverflow起こしたJavaスレッドをスレッドプールから捨てて
新スレッドを補充しとくのは、流石に神経質すぎるのかな

7 :デフォルトの名無しさん:2012/08/08(水) 13:47:21.02
Windowsのネイティブスレッドはスタックサイズ変更できない=そもそも成長しない、だと思ったが。

スタックポインタが一度移動したら二度と戻らん、って誤解はたぶんないと思うんだが。

8 :デフォルトの名無しさん:2012/08/08(水) 19:34:16.54
http://headlines.yahoo.co.jp.uploader.asia/news/20120807-smdjadagmw?9
【速報】Javaが将来的にScala言語へと方針を転換する予定

9 :デフォルトの名無しさん:2012/08/08(水) 19:53:19.66
>>8
ぶらくら、注意

10 :デフォルトの名無しさん:2012/08/08(水) 20:36:03.48
JavaがScalaに統合されるのか・・・
じゃあもうScala勉強すっかな

11 :デフォルトの名無しさん:2012/08/08(水) 22:17:37.28
>>9
血の汗を流しても届かない領域を渇望する幼い子供の願望が良く表現できてると思う。


12 :デフォルトの名無しさん:2012/08/08(水) 23:18:27.37
スレチかもしれんが・・・

java初心者が勉強を兼ねてWebアプリケーションを作ってみたいと思うんだ
こんなの作ったら勉強になるよとか、そういうのってある?

13 :デフォルトの名無しさん:2012/08/08(水) 23:21:36.05
panelとかのswingを勉強したいのですが、
おすすめの書籍ご存知でしたら教えてください

14 :デフォルトの名無しさん:2012/08/08(水) 23:23:58.98
とりあえずショッピングサイトつくってみればいいさ


15 :デフォルトの名無しさん:2012/08/08(水) 23:24:57.84
>>12
チャットサイトつくるのは勉強になったよ
今は自宅鯖でゲームサイト作ってるけど

16 :デフォルトの名無しさん:2012/08/08(水) 23:25:15.12
>>14
なるほど。仕様とかは尼とか楽天参考にして頑張ってみるよ
ありがとう

17 :デフォルトの名無しさん:2012/08/08(水) 23:25:59.53
>>15
チャットか・・・難しそうだな
それも勉強してみる。ありがとう

18 :デフォルトの名無しさん:2012/08/08(水) 23:34:37.54
>>17
サンプルがや解説サイト、書籍も多いから逆に有利だと思うよ
がんばって

19 :デフォルトの名無しさん:2012/08/08(水) 23:45:36.95
>>11
bakaka

20 :デフォルトの名無しさん:2012/08/09(木) 00:36:31.69
>>17
チャットが難しいならbbsとか。
servletならchatのが勉強になると思うけど。
他の言語も経験ないならコマンドラインアプリのがいいと思う。

21 :デフォルトの名無しさん:2012/08/09(木) 00:44:48.48
>>16
実際に使えるもの目標にすると、モチベーション保てるしいいよ。
仲間内で使えるパスワード付きうpろだとかどうよ。

22 :デフォルトの名無しさん:2012/08/09(木) 01:06:40.70
>>20
bbsは確かNetbeansのサンプルであったね。
あれを拡張しても面白い。

23 :デフォルトの名無しさん:2012/08/09(木) 05:46:59.90
自演乙


24 :デフォルトの名無しさん:2012/08/09(木) 06:58:12.72
基本の中の基本の質問です
今本読みながら勉強してるんだが
大文字とかってちゃんと大文字にしなきゃダメですか?
例えばStringをstringとか

25 :デフォルトの名無しさん:2012/08/09(木) 07:01:04.90
当然。Javaは大文字と小文字を厳密に区別する言語

26 :デフォルトの名無しさん:2012/08/09(木) 07:03:06.37
ありがとう!
やっぱり誰かに質問してよかった
ありがとう

27 :デフォルトの名無しさん:2012/08/09(木) 07:19:00.11
いえいえ、いいんですよ


28 :デフォルトの名無しさん:2012/08/09(木) 08:32:13.96
while(true){}には、
Thredのsleepみたいな休憩みたいなの入れなくて大丈夫なんでしょうか
HSPだとかならずawait命令いれなくちゃだめでした

29 :デフォルトの名無しさん:2012/08/09(木) 08:44:33.40
>>28
{}の中身次第

30 :デフォルトの名無しさん:2012/08/09(木) 09:05:33.61
{}のなかにどういうきじゅつすればかかなくてもいいんでしょうか

31 :デフォルトの名無しさん:2012/08/09(木) 09:09:01.20
むしろ書かなきゃいけない場合のほうが少ないだろ

32 :デフォルトの名無しさん:2012/08/09(木) 09:20:41.56
Javaはマルチスレッドだからな

33 :デフォルトの名無しさん:2012/08/09(木) 09:44:01.00
>>8
踏んだらびっくりサイトだった みんな気をつけて

34 :デフォルトの名無しさん:2012/08/09(木) 11:16:56.20
Javaのmain関数で質問です
http://docs.oracle.com/javase/tutorial/java/javaOO/QandE/creating-questions.html
の下のほうにあるExerciseの答えであるCard.javaにはmain関数があるのですが、これはいつ呼ばれるんでしょうか?

自分はCardクラスがDeckクラスから呼ばれ、Deckクラス自体は別のmain関数を持つクラスから呼ぶような使い方を予想しています。
そうするとCardクラスのmain関数が実行されないのになぜmain関数でassertしているのかわかりません。
実際に別のmain関数を持つクラスからDeck呼び出しても、クラスのmain関数は呼ばれませんでした。

それとも、自分の考えてるCardクラスの使い方やmain関数の考え方が間違ってるのでしょうか?


35 :デフォルトの名無しさん:2012/08/09(木) 11:28:58.92
mainメソッドを持たないクラスにテストを書く場合、
JUnitとかのフレームワークを使わずにmainメソッドに書く場合がある。

ファイル数増やすのが嫌な時とかJUnit等のフレームワークを用意するのが面倒な時に使われる。

36 :デフォルトの名無しさん:2012/08/09(木) 11:38:25.05
>>34
まず、どのmain関数が呼ばれるかはどのクラスを実行するかによります
javaを実行するとき 

java クラス名

と実行しますよね。このとき、指定したクラスのmainが呼ばれるのです。
もし、関連する他のクラスにmainメソッドがあってもそれは実行されません。
繰り返しますが、java クラス名 のクラスにあるmainメソッドが実行されます

そして、なぜassertがmainにあるかについてですが、特に深く考える必要もありません
Cardクラスを単体にTestするときに使うのでしょう


37 :デフォルトの名無しさん:2012/08/09(木) 14:52:43.02
調べてもわからなかったので質問させていただきます。
public static void main(String[] args){
while(true){
try{
System.out.println("hoge");
Thread.sleep(10000); //10秒待つ
System.out.println("piyo");
method(); //1秒程度の処理
}catch(Exception e){
e.printStackTrace();
}
}
}
上記のような構文で、10秒ごとにある処理を行うプログラムを永続的に動かしているのですが、
7、8時間ぐらい経つと例外も何も出さずに止まってしまいます。
ログを見直すと、必ず最後の出力がhogeになっているので、Thread.sleep(10000)の中で止まっていると思われます。
環境はさくらのレンタルサーバで動かしており、OSはFreeBSD 8.1です。
もしかしたらJavaの問題ではないのかもしれませんが、解決策はありますでしょうか?

38 :デフォルトの名無しさん:2012/08/09(木) 14:59:00.97
method(); を呼ばないパターンもテストすべき

39 :デフォルトの名無しさん:2012/08/09(木) 15:05:50.37
>>37
止まった時のスレッドダンプしてみてはいかが?
何か原因わかるかも

40 :37:2012/08/09(木) 15:22:29.97
なるほど。両方試してみます。

41 :デフォルトの名無しさん:2012/08/09(木) 16:08:33.31
>>34
使われるから存在するのではない。それは定義だ。
java.lang.System.out.plintlnを利用したからといってSystemにあるものを全て使うわけでないし、何があるか知る必要すらない。
もっと知りたいならオブジェクト指向開発を学べ。

この例だけで言うなら>>35


42 :デフォルトの名無しさん:2012/08/09(木) 16:14:22.56
>>35>>36
ありがとう。参考になりました。

>>37
一定感覚で走らせてて一定の時間でおちるのなら、メモリリークしてる可能性もありそう


43 :デフォルトの名無しさん:2012/08/09(木) 16:26:22.05
>>41
へぇ。ありがとう。

44 :デフォルトの名無しさん:2012/08/09(木) 16:30:11.79
>>41
"使われるから存在するのではない。それは定義だ。"
これは、Javaで有名な名言かなにかですか?
質問との関連性がよくわかりません。

45 :デフォルトの名無しさん:2012/08/09(木) 17:57:00.51
java.security.PrivateKeyのインスタンスがある時に、
このインスタンスからPublicKeyを生成するにはどうすればいいですか?

KeyPairGeneratorはありますが、既にあるPrivateKeyから
PublickKeyを生成する方法が分かりませんでした.
KeyGeneratorとKeyFactoryも調べてみましたが、違うようです

今試している具象クラスはECPrivateKeyですが、
RSAやDHでも共通の変換用のインタフェースは用意されないのでしょうか?

46 :デフォルトの名無しさん:2012/08/09(木) 18:35:56.44
>>45
作れないんじゃね?
たぶんジェネレータは[A B C]の3つのデータを適当に生成して、B→B'に変換して、
[A B']から公開鍵を、[B' C]から秘密鍵を作るのよ。で最後にBは捨てる。

[B' C]の秘密鍵だけ知ってても、Aは判らないし、B'からBは計算できないから、
原理上公開鍵は作れない。たぶん。数学的根拠はわからん。

47 :デフォルトの名無しさん:2012/08/09(木) 19:58:35.37
>>44
そんな格言はきいたことがない。
basicのように上から下に流れる古いプログラミングをイメージしてそうだったから、最近のはそういうものじゃないってことだろう。

48 :デフォルトの名無しさん:2012/08/09(木) 20:32:53.01
class A{
Jlist定義
}

class B{
読み込んできたデータをオブジェクトにする
}

class C{
データベース読み込み
}

この様な構成になっている時、Jlistにオブジェクトにしたデータベースの内容をいれるにはどのように考えればいいのでしょうか?

自分はAでCのメソッドを呼び出し、データベースの内容を取得し、
それをBでオブジェクトにすると考えたのですが、
その後どうやってAのlistに入れるのかがわかりません。


49 :デフォルトの名無しさん:2012/08/09(木) 21:28:22.70
Cで読み込んで、その場でオブジェクトにしたらいかんの?

50 :デフォルトの名無しさん:2012/08/09(木) 23:06:49.79
>>48
クラス図書いて、mvcに分けて、依存関係を正しくしろ。データベースとの境界もvな。

51 :デフォルトの名無しさん:2012/08/09(木) 23:46:25.42
なんかそころへんのこと独習サーバーサイドJavaに載ってたな
あの本わかりやすいから買ってよんだらどうだろう
どうでもいい意見だから聞き流してもよかです すいません

52 :デフォルトの名無しさん:2012/08/10(金) 18:55:49.12
てか基本的過ぎて何がわからないのかすら分からない。

53 :デフォルトの名無しさん:2012/08/10(金) 19:43:03.24
AとかBとか抽象的に書いてるのに、どこに分類すべきかわかるわけない。

54 :デフォルトの名無しさん:2012/08/10(金) 21:17:51.73
次の問題を解くのは無理だと思いますが
「できた」という天才プログラマーがいらっしゃいましたら
ぜひご教授ください

スレッドA
public void run(){
:
任意の位置に wait() が複数挿入されています
呼び出した関数からさらに関数を呼び出して
そこに wait() が存在する場合もあります
wait() の挿入位置や個数に規則性はありません
:
}

スレッドAを start() させると
当然 wait() 位置でスレッドが待機されます

別スレッドから任意のタイミングで notify() を実行させると
スレッドAの wait状態が解除されて再開されます

55 :デフォルトの名無しさん:2012/08/10(金) 21:18:04.53
そしてスレッドAはまた wait() 位置で待機します

ここで一旦プロセスを終了させます
当然スレッドAも終了させます

どの wait() 位置でプロセスを閉じるかについては
まったく規則性はありません

プロセスがまた開始させた時に
スレッドAの wait() されていた前回の位置から
実行されるように再現したいと考えています

一体このようなセーブ・ロード法はあるでしょうか?
ご教授お願いいたします


56 :デフォルトの名無しさん:2012/08/10(金) 21:25:41.75
呼び出すメソッドが wait() と notify() でなければならないって縛りがなければ方法はあるっちゃあるけど、
標準APIのメソッド一つ呼べばOKみたいな簡単な方法なら無いよ。

57 :デフォルトの名無しさん:2012/08/10(金) 21:31:04.65
>>54-55
そんな方法あるの?

58 :デフォルトの名無しさん:2012/08/10(金) 21:31:08.34
ご教授はすべて死ね

59 :デフォルトの名無しさん:2012/08/10(金) 21:32:57.88
ふつうオブジェクトの保存っていったら直列化だけど、スレッドどこで待機したかとかどうするんだろう

60 :デフォルトの名無しさん:2012/08/10(金) 21:35:37.95
>>58
質問スレやし・・・

61 :デフォルトの名無しさん:2012/08/10(金) 21:37:03.93
>>60
アホは死ね

62 :デフォルトの名無しさん:2012/08/10(金) 21:40:19.61
質問スレで質問して何が悪いんだ?

63 :デフォルトの名無しさん:2012/08/10(金) 21:55:11.57
テキストに進捗ステータスと変数の値吐けば解決だね^^!

64 :デフォルトの名無しさん:2012/08/10(金) 22:03:27.26
教授されたいなら、学校に行くなり、どこかに弟子入りするなり

65 :デフォルトの名無しさん:2012/08/10(金) 22:08:45.95
「ご教授」は別に誤用じゃないから

66 :デフォルトの名無しさん:2012/08/10(金) 22:19:58.69
既にあるrun()内のコードを改変せずに
そのまま保存・再開させるのは無理だな

結局はスレッド内で状態を記録しておくしかない

67 :デフォルトの名無しさん:2012/08/10(金) 22:27:09.49
単純に自前でバイトコードインタプリタ実装してステートセーブすりゃいいんじゃね?

速度でなくても知らんがな。

68 :デフォルトの名無しさん:2012/08/10(金) 22:27:17.67
JDにご教授願いたい

69 :デフォルトの名無しさん:2012/08/10(金) 22:44:05.05
>>65
誤用だから。
ネットでバカみたいな理屈こねて言いくるめてるヤツがいるだけ

70 :デフォルトの名無しさん:2012/08/10(金) 22:50:33.43
>>69
どのように違うか説明できんの?

71 :デフォルトの名無しさん:2012/08/10(金) 22:58:22.20
>>70
字引引いて当てはまるとかいう連中はみんなブタ。
そもそもそんな使い方はしない。
漢字も読めないやつらが音だけ聞いて勘違いしただけ。

72 :デフォルトの名無しさん:2012/08/11(土) 03:18:32.66
夏厨うざい

73 :デフォルトの名無しさん:2012/08/11(土) 16:32:04.71
日付と値が入った配列を偶数の日と奇数の日と3で割れる日に分割してそれぞれ配列に格納したいのですが
何を参考に自習すればよいのでしょうか?

74 :デフォルトの名無しさん:2012/08/11(土) 16:33:13.08
日付と値が入った配列を偶数の日と奇数の日と3で割れる日に分割してそれぞれ配列に格納したいのですが
何を参考に自習すればよいのでしょうか?
多次元配列と配列の自動生成がよく分かりません。オススメの参考図書を教えてください。

75 :デフォルトの名無しさん:2012/08/11(土) 16:53:09.41
>日付と値が入った配列
を具体的にコードで示しておいた方がいい

76 :デフォルトの名無しさん:2012/08/11(土) 16:54:33.02
インターフェイスで質問です。
public interface MyInterface {
  public int func(MyInterface obj);
}

これの二行目のMyInterfaceって何ですか?
定義したインターフェイスがどのクラスで使われるか分からないから、インターフェイス名を型として使えるということですか?
インターフェイスを変数の型として定義した場合、アサインするオブジェクトはインターフェイスを実装しているクラスのインスタンスでないといけませんとありました。

これと絡んでもう一つ質問です。このインターフェイスを実装しているクラスでは
public double func(MyInterface obj){
  MyClass otherObj = (MyClass)obj;
・・・}
としてから使ってるのですが、このMyClassを囲っている括弧はどういう意味があるんですか?
実装しているクラスのインスタンスなら、objのまま使ってもよさそうなんですが、これは何をしているのでしょうか。


77 :デフォルトの名無しさん:2012/08/11(土) 17:00:13.85
二行目のMyInterfaceは型名です
インターフェイス名は型名として使えます

型名を括弧で囲み、式の前に付けると、キャストになります
double x = 1.5;
int y = (int) x;
みたいな書き方を見たことはありませんか?
obj のまま使ってもいいと思いますが、何かそうしたい理由があるんでしょうね

78 :デフォルトの名無しさん:2012/08/11(土) 17:12:33.32
>>76
>(MyClass)obj;
「ダウンキャスト」と言うもの

MyInterfaceを受け取ると言いながら実はMyClassしか対応しておらず、
MyInterfaceに無く、MyClassにあるメソッドやメンバ変数を必要としているので
基本的には良くないプログラム

ただしAPI側とのやりとりの都合上やむを得ない場合もある

79 :デフォルトの名無しさん:2012/08/11(土) 17:13:58.68
なにこの糞スレw

80 :デフォルトの名無しさん:2012/08/11(土) 17:26:36.29
糞レスの筆頭はお帰り下さい

81 :76:2012/08/11(土) 19:03:12.94
>>77
後出しになって申し訳ないですが、ダウンキャストしないとMyClassの別のメソッドは見えませんでした。

>>78
たぶん理解できたと思います。ありがとうございました。

参照先も同じでgetClass()でもMyClassが帰ってくるのに、そのクラスのフィールドやメソッドにアクセスできないのは
なんだかモヤっとします。




82 :デフォルトの名無しさん:2012/08/11(土) 19:16:59.77
>>81
>そのクラスのフィールドやメソッドにアクセスできないのは
アクセスさせないからこそinterfaceに意味がある

interfaceを引数として受け取るということは、
そのinterfaceだけが前提条件だと表明しているということ

何か商品の説明書に「単3電池で動きます」と書かれていて
実は東芝性のアルカリ単3電池でしか動かないとかだったら嫌でしょ?

ダウンキャストがあると、MyClass以外のMyInterfaceを
実装しているオブジェクトが渡された場合に実行時例外になる
これは動かしてみないと分からないことで、
せっかくコンパイラがコンパイル時に不整合を見つけてくれる仕組みがあるのに
それを台無しにしている

83 :デフォルトの名無しさん:2012/08/11(土) 19:21:54.90
実行時例外の何がいけないのですか。
ぬるぽでも出るじゃないですか。

84 :デフォルトの名無しさん:2012/08/11(土) 19:33:57.02
ぬるぽ対策は代数的データ型が言語仕様に入るまで長らくお待ち下さい・・・

85 :デフォルトの名無しさん:2012/08/11(土) 19:45:26.87
>>83
捉えられない例外が発生するということは、シナリオが達成できないということだから、よくない。

86 :デフォルトの名無しさん:2012/08/11(土) 20:42:56.82
>>85
Spring Frameworkを使うとほぼすべてが…。

87 :デフォルトの名無しさん:2012/08/11(土) 20:54:50.79
代数的データ型ってなんですか?

88 :デフォルトの名無しさん:2012/08/11(土) 21:58:43.46
http://www.google.co.jp/search?q=%E4%BB%A3%E6%95%B0%E7%9A%84%E3%83%87%E3%83%BC%E3%82%BF%E5%9E%8B
enumを強化した感じというか
明示的にnull可と書かなければnullも入らないしキャストも不可

89 :デフォルトの名無しさん:2012/08/11(土) 22:01:42.62
ああ、javaには無いからね、少なくとも現在のバージョンには

ぬるぽは気をつかうしかない

90 :デフォルトの名無しさん:2012/08/13(月) 07:42:42.39
ふーん

91 :デフォルトの名無しさん:2012/08/13(月) 11:28:57.34
while(rs.next()){
 m.id = rs.getInt("id");
 m.name = (String) (rs.getObject("name"));
 list.add(m);
 System.out.println("" + list.get(index) + "");
 index++;
}
for(index = 0 ; index < list.size(); index++){
 System.out.println("" + list.get(index) + "");
}

データベースに入っている項目をオブジェクトにし、ArrayListにいれています。
whileでオブジェクトmに格納し、直後にその内容を出力しています。
次のfor文でListの中を出力しているのですが、最後の項目が、登録した個数分出力されます。

例)
--while--
ねこ
いぬ
うさぎ
--for--
うさぎ
うさぎ
うさぎ

どこが間違っているのか教えていただけませんか?



92 :デフォルトの名無しさん:2012/08/13(月) 11:33:18.53
m はループのたびに new されていない
list に add した m はすべて同一のオブジェクト
同一オブジェクトの name は同一

93 :デフォルトの名無しさん:2012/08/13(月) 11:53:29.29
getStringではなくgetObjectをダウンキャストしてたり、printlnで文字列変換してたり
いったいどんなDBなんだ?

94 :デフォルトの名無しさん:2012/08/13(月) 11:55:53.98
IBAKAはシャックみたいだな。

95 :デフォルトの名無しさん:2012/08/13(月) 12:06:10.52
ソースコードに「--変数;」
ってあるんだがどういう意味?

96 :デフォルトの名無しさん:2012/08/13(月) 12:07:39.00
デクリメント演算子でぐぐる

97 :デフォルトの名無しさん:2012/08/13(月) 12:18:00.29
>>92
ご丁寧にありがとうございました。
すべて同じmに入れていたのでこのようなことになっていたのですね。

>>93
手直しし忘れていた箇所でした。
getObjectですべて受け取って、名前だけは
public String toString() {
 return "" + name + "" ;
}
としています。toStringを上書きしろという指示だったので…。



System.out.println("" + list.get(index) + "");
で名前が出てくるのは何故ですか?listにはObjectとしてmをいれていて、
そのmにはid、nameなどあるのにnameがでてくるのがちょっと疑問です…

98 :デフォルトの名無しさん:2012/08/13(月) 12:33:10.64
toString() 上書きして name を返すようにしてんだろ。

99 :デフォルトの名無しさん:2012/08/13(月) 12:33:19.30
>>96
さんくす

100 :デフォルトの名無しさん:2012/08/13(月) 15:56:45.03
>>97
System.out.println(Object o);
とすると、oのtoStringが呼ばれるからだすよ
もし、oでtoStringをオーバーライドしてなければ、そのObjectクラスのtoStringが呼ばれるので(すべてのクラスはObjectを継承していますよね)、そのオブジェクトのIDが返されます。

258 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)