ニュース
|
Java基本
|
Servlet・JSP
|
オープンソース
|
FAQ
|
掲示板
Javaの道
>
掲示板
>
掲示板(無限ループになってしまいます。)
閲覧数:1059
掲示板(無限ループになってしまいます。)
名前
qtharu
題名
無限ループになってしまいます。
質問内容
質問を評価する
(0ポイント)
以下のプログラムで無限ループになってしまいます。
class A
{
B b = new B();
}
class B
{
A a = new A();
}
こんな感じで2つのプログラムを参照しあって、
そこで処理が止まってしまいます。
どのようにしたら、それを食いとめられるでしょうか?
質問日時
2013-07-28 17:15:17
名前
匿名
回答内容
回答を評価する
(0ポイント)
途中で止めたいなら、何か条件があるだろう。
どうなったら止まればいいんだ?
まずはそれを明確にすること。
プログラムは書いた通りに動くんだから、明確でないものを
つくることはできない。
回答日時
2013-07-28 20:45:40
名前
仙人
回答内容
回答を評価する
(30ポイント)
両方で new したら参照し合えません。お互いに参照し合いたい場合
class A {
B b = new B(this);
}
class B {
final A a;
B (A a) {
this.a = a;
}
}
回答日時
2013-07-28 21:54:59
名前
qtharu
回答内容
回答を評価する
(0ポイント)
仙人さんありがとうございました。
仙人さんのおかげで、
プログラムまともに動くようになりました。
他に回答して下さった方もありがとうございました。
回答日時
2013-07-29 21:13:14
質問から6ヶ月以上経過しているので、回答を書き込むことはできません。
ツイート
ニュース
|
Java基本
|
Servlet・JSP
|
オープンソース
|
FAQ
|
掲示板