javaの呼び出しメソッドについて
戻り値があるメソッドを呼び出す際、呼び出し元では戻り値の型に合わせて変数を用意しなくても良いのですか?
例えば、int型の変数を返すメソッド"test"を呼び出す際、呼び出し元では
int aaa = test()
とせずに
test()
としても問題ないのでしょうか?
もし問題ない場合、メソッド"test"によって返された戻り値は呼び出し元ではどのように解決されるのでしょうか?
初歩的な質問になり、恐縮ですが、ご教授いただけると幸いです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
0
ベストアンサー
testメソッドを実行したいけど、別に実行結果はいらないというのであれば
test()
で実行して全く問題ありません。
この場合、実行結果は何にも解決されません。消えてなくなるだけです。
呼び出し元で実行結果が必要なのであれば、int aaa = test()
のようにして
変数に格納して結果を見ればいいです。
戻り値を返すメソッドを呼ぶのに、結果を変数で受けないというのに
違和感を感じてらっしゃるのだと思いますが(違ってたらすみません)、
これは別に特殊なことでもめずらしいことでもありません。
例えば、java.util.List#add
や、java.uti.Map#put
なども実行結果を返しますが、
結果が不要な場合は、気にせず呼びます。
結果は消えてなくなるだけです。不要なので問題ありません。
Java
1List<String> list = new ArrayList<>(); 2list.add("a"); 3list.add("b"); 4 5Map<String, String> map = new HashMap<>(); 6map.put("id", "001"); 7map.put("name", "foo");
投稿2018/06/22 07:10
総合スコア4666
0
int aaa = test()
とせずに
test()
としても問題ないのでしょうか?
結論から先に書くと問題ありません。
メソッドの実行結果を受け取ることは、必須ではありません。
もし問題ない場合、メソッド"test"によって返された戻り値は呼び出し元ではどのように解決されるのでしょうか?
どのように解決されるのか? の解決という部分が理解出来なかったのですが、上記の記載通り、戻り値を変数などに格納することは必須ではありません。
もちろん、変数などに格納しなければその値を使うことは出来ません。
なんとなくですが、質問されている本質が私には見えていないので、質問の回答しか出来ておりませんがこれで解決出来れば幸いです。
投稿2018/06/22 04:28
総合スコア1336
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/25 00:32
0
test()
としても問題ないのでしょうか?
はい、問題ありません。
返された戻り値は呼び出し元ではどのように解決されるのでしょうか?
ただ捨てられるので、呼び出し元では取得できません。
投稿2018/06/22 04:25
総合スコア145183
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
戻り値を変数に代入する必要はありません。代入しなければメモリ上に保持されず、そのまま次の処理に進むだけです。
メソッドは関数とも呼ばれます。これは数学の関数に倣ったものです。が、数学のものと違って、サブルーチンとしての意味もあります。サブルーチンとしてのみ使用するならば戻り値は不要です。
文法上、「値;」とか「式;」という形ならば文として成立します。ですので極論「1;」とか「1 + 2;」といった文も間違いではありません。(コンパイラが無駄を検知して警告することは考えられます。)ですので、処理の過程で利用されない値があっても問題はありません。
ちなみに、C/C++などではメモリ管理がプログラマ負担であるので、確保したアドレスを解放せずに管理外となって資源を圧迫していくということがよくあります。
投稿2018/06/23 16:22
総合スコア4830
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
少し質問内容から逸れているかもしれませんが
私が回答してもらった質問に、似た様なものがあったので参考までにどうぞ
Java 戻り値の取り扱いについて
投稿2018/06/22 10:59
総合スコア180
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。