次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
Java初心者のためのスレッドです。
※前スレ
Java入門・初心者質問スレ Part.10
https://mevius.5ch.net/test/read.cgi/tech/1585721355/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
Java入門・初心者質問スレ Part.11
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウウー Sa07-jGB0)
2021/06/29(火) 11:42:34.74ID:iGYT4fi4a534デフォルトの名無しさん (オッペケ Srf1-d90F)
2022/01/05(水) 06:01:02.31ID:e56dk/ttr >>533
いや、実際には無名クラスは作らず、invokedynamicによる呼び出しで処理できるように色々するみたいだな。
いや、実際には無名クラスは作らず、invokedynamicによる呼び出しで処理できるように色々するみたいだな。
535デフォルトの名無しさん (ワッチョイ 9901-XanP)
2022/01/07(金) 14:06:26.94ID:9fSjL2+K0 Java勉強しはじめるとどこの学習サイトや本でも大体変数周りのレクチャーに際して
int age =20;とした場合
「System.out.println ("私の年齢は" +age+ "歳です");」
「なお、intは上書き出来、後述でage = 23;と書けば同じ変数で違う値を入れる事が出来ます」
みたいに書いてある事が多々ありますが実際にこの運用って使うのでしょうか?
まず最初の疑問が余程大きな桁数でも無い限り(特に年齢や西暦程度なら)数字を直入力した方が作業短縮されるのではと感じるのと
変数上書きに関してもあえて事故る可能性のある上書きより別の変数を用意すればいいだけではと思うのですが
これら二つを最序盤で必ず入れるのは後期で何か意味を持つ使い方になるのでしょうか?それとも不要だとしても一応の機能紹介と運用例を出しているだけ?
int age =20;とした場合
「System.out.println ("私の年齢は" +age+ "歳です");」
「なお、intは上書き出来、後述でage = 23;と書けば同じ変数で違う値を入れる事が出来ます」
みたいに書いてある事が多々ありますが実際にこの運用って使うのでしょうか?
まず最初の疑問が余程大きな桁数でも無い限り(特に年齢や西暦程度なら)数字を直入力した方が作業短縮されるのではと感じるのと
変数上書きに関してもあえて事故る可能性のある上書きより別の変数を用意すればいいだけではと思うのですが
これら二つを最序盤で必ず入れるのは後期で何か意味を持つ使い方になるのでしょうか?それとも不要だとしても一応の機能紹介と運用例を出しているだけ?
536デフォルトの名無しさん (ワッチョイ 4602-LtVv)
2022/01/07(金) 14:52:23.56ID:ZFG0FBZS0 >>535
そもそも「私の年齢はage歳です」と表示するなんていうプログラム自体が
機能紹介のためのものなのでねぇ
自分でプログラムを作るときは
・数字を直入力した方がよいか? Yes→直入力できるようにする No→しない
・ageに初期値が必要か? Yes→設定する No→設定しない
・ageの値を保持したいか? Yes→別の変数を用意する No→上書きする
なんてことを、自分で考えたり、周りはどうしているかを見たりして、判断することになる
↑これが、サイトや本に書かれていない、一番重要なプログラミングのポイントなのだが
そしてその判断のためには、言語の機能を知らないとならないわけでさ
そもそも「私の年齢はage歳です」と表示するなんていうプログラム自体が
機能紹介のためのものなのでねぇ
自分でプログラムを作るときは
・数字を直入力した方がよいか? Yes→直入力できるようにする No→しない
・ageに初期値が必要か? Yes→設定する No→設定しない
・ageの値を保持したいか? Yes→別の変数を用意する No→上書きする
なんてことを、自分で考えたり、周りはどうしているかを見たりして、判断することになる
↑これが、サイトや本に書かれていない、一番重要なプログラミングのポイントなのだが
そしてその判断のためには、言語の機能を知らないとならないわけでさ
537デフォルトの名無しさん (ワッチョイ 42ad-hDuN)
2022/01/07(金) 17:47:08.32ID:+rjvm48j0 同じ値を同じ意味で複数個所で使っていて後で修正が必要になった場合は直入力だと全てに修正が必要になって面倒。
尚且つその数が表す意味がわからなくなる可能性がある。(変数名がその数の意味と無関係に付けられていたら同様にわからなくなるが)。
変数の使い回しはプログラムが長くなって来ると混乱してバグの素になると思うので出来ればやらない方が良いとは思う。
特に違う意味の値で使われるような場合は危なっかしい感じがする。また値を変えないで定数として使うのであれば java
ならば final を付けて宣言して変えられないようにしておいた方が良い。その方がコンパイル時に最適化される可能性も高まる。
尚且つその数が表す意味がわからなくなる可能性がある。(変数名がその数の意味と無関係に付けられていたら同様にわからなくなるが)。
変数の使い回しはプログラムが長くなって来ると混乱してバグの素になると思うので出来ればやらない方が良いとは思う。
特に違う意味の値で使われるような場合は危なっかしい感じがする。また値を変えないで定数として使うのであれば java
ならば final を付けて宣言して変えられないようにしておいた方が良い。その方がコンパイル時に最適化される可能性も高まる。
538デフォルトの名無しさん (ワッチョイ df01-Di5C)
2022/01/08(土) 12:18:43.14ID:BbhWscnT0 >>536>>537
なるほどありがとう
後の方でまさかの有効活用方が出てくるための序盤仕込みとかではなく、あくまで勉強本として1から10まで説明しなければいけない的な拡張機能の解説で合ってたのね
もしかしたら修正する可能性がある項目を変数化しておくというのも実用的だし、変数上書きは余りしない方が良いという部分のアドバイスも聞けてよかった
なるほどありがとう
後の方でまさかの有効活用方が出てくるための序盤仕込みとかではなく、あくまで勉強本として1から10まで説明しなければいけない的な拡張機能の解説で合ってたのね
もしかしたら修正する可能性がある項目を変数化しておくというのも実用的だし、変数上書きは余りしない方が良いという部分のアドバイスも聞けてよかった
539デフォルトの名無しさん (ブーイモ MM0f-oH9J)
2022/01/08(土) 15:42:28.48ID:s2b06pjxM 合ってねーよw
540デフォルトの名無しさん (ワッチョイ df01-3DH6)
2022/01/09(日) 16:01:07.59ID:fk2x27WR0 Androidアプリ関係の質問てここであってますか?
541デフォルトの名無しさん (ワッチョイ df01-3DH6)
2022/01/09(日) 16:03:23.24ID:fk2x27WR0 すいません開発質問スレ見つけました
542デフォルトの名無しさん (ワッチョイ 7932-21ac)
2022/01/28(金) 17:19:42.17ID:ueGBMAtL0 浅いコピー深いコピーって概念がよくわからないんですけど
深いコピーをしたいオプジェクトやリストがあればその中身や型に合わせて
それぞれ専用のメソッドをその都度自分で書かないといけないってことですか?
深いコピーをしたいオプジェクトやリストがあればその中身や型に合わせて
それぞれ専用のメソッドをその都度自分で書かないといけないってことですか?
543デフォルトの名無しさん (NZ 0H92-5TYE)
2022/01/28(金) 19:09:56.53ID:L6caMnrmH >>542
lisp 用語だから lisp をやればわかる…
lisp 用語だから lisp をやればわかる…
544デフォルトの名無しさん (ワッチョイ b6a7-Jl4Y)
2022/01/28(金) 21:32:44.86ID:bcAzYVuU0 >>542
つ https://medium-company.com/ディープコピーとシャローコピーの違い/amp/
簡単に言えば浅いコピーは参照?が指している場所が同じ状態でのコピー
obj1 = obj2 のような状態
深いコピーはご自分で言っているように別のオブジェクトとして生成してフィールドをコピーしている状態
つ https://medium-company.com/ディープコピーとシャローコピーの違い/amp/
簡単に言えば浅いコピーは参照?が指している場所が同じ状態でのコピー
obj1 = obj2 のような状態
深いコピーはご自分で言っているように別のオブジェクトとして生成してフィールドをコピーしている状態
545デフォルトの名無しさん (テテンテンテン MM3e-172+)
2022/01/28(金) 22:44:02.36ID:Avl2EljRM >>542
だいたい合ってるけど専用のメソッドが必要になるのは浅くても深くても同じだよ
ただ浅い場合は1段でいいから楽なだけ
深い場合は型と型の組み合わせになるから組み合わせの数が無数で書く量が増える
だいたい合ってるけど専用のメソッドが必要になるのは浅くても深くても同じだよ
ただ浅い場合は1段でいいから楽なだけ
深い場合は型と型の組み合わせになるから組み合わせの数が無数で書く量が増える
546デフォルトの名無しさん (ワッチョイ 2a01-dw97)
2022/01/28(金) 23:07:08.14ID:VTFqAYi/0 windowsでいうと
浅いコピーは「ショートカットの作成」
深いコピーはフォルダーのバックアップ
浅いコピーは「ショートカットの作成」
深いコピーはフォルダーのバックアップ
547デフォルトの名無しさん (CA 0H92-5TYE)
2022/01/29(土) 00:37:34.81ID:31J+rcQrH >>546
不合格
不合格
548デフォルトの名無しさん (ワッチョイ 2a01-I+PI)
2022/01/29(土) 01:04:37.76ID:8+GQA2NX0 >>546
フォルダーの中にショートカットが入ってたら?
フォルダーの中にショートカットが入ってたら?
549デフォルトの名無しさん (ワッチョイ 7d32-21ac)
2022/01/29(土) 08:48:50.39ID:7ZcbKf0S0550デフォルトの名無しさん (ワッチョイ 17e6-AiWJ)
2022/02/06(日) 23:13:39.10ID:0YSKiQEf0 昔Javaを触ってたけど、しばらく離れてた(テンプレートやアノテーションが出る直前)
最新のJavaを学びなおそうと思っているんだけど、おすすめのサイトor書籍を教えてください
ただし、オライリーは嫌いなのでパス
最新のJavaを学びなおそうと思っているんだけど、おすすめのサイトor書籍を教えてください
ただし、オライリーは嫌いなのでパス
551デフォルトの名無しさん (ワッチョイ 17e6-wadS)
2022/02/06(日) 23:46:22.33ID:2R1v+vma0552デフォルトの名無しさん (ワッチョイ 171d-v6+h)
2022/02/06(日) 23:55:34.82ID:Yp2ViaMv0 独習Javaはどうすか?
553デフォルトの名無しさん (ワッチョイ 9fad-zD41)
2022/02/07(月) 02:30:14.57ID:b6RunKLB0 Kotlin もよろしく
554デフォルトの名無しさん (ワッチョイ bf66-UnPY)
2022/02/07(月) 06:59:39.42ID:VlGFXZxF0 >>552
旧版なら糞本、新版でてますか?
旧版なら糞本、新版でてますか?
555デフォルトの名無しさん (ワッチョイ 17e6-AiWJ)
2022/02/07(月) 23:41:32.94ID:b3L+kEpa0556デフォルトの名無しさん (ワッチョイ d7e6-UnPY)
2022/02/07(月) 23:56:42.08ID:TWNt6zjr0 >>555
吸盤独習Java なんて忘れたほうがいいですよ、ハーバード・シルトの本にしなさい…
吸盤独習Java なんて忘れたほうがいいですよ、ハーバード・シルトの本にしなさい…
557デフォルトの名無しさん (ワッチョイ 171d-v6+h)
2022/02/08(火) 22:59:01.06ID:PIdUK9FC0 あとは電機大が出してる厚い本とか
558デフォルトの名無しさん (ワッチョイ 6332-piVT)
2022/02/12(土) 08:24:36.57ID:L9XEDv670 質問です
乱数を得るための方法は主にjava.util.Random()またはMath.random()の2通りあると思うんですが
なぜjava.util.Random()の方はMath.random()と違ってstaticではないのでしょうか?
それとint x = Math.random(n, m); でn以上m以下の整数を得るみたいにしたいんですけど
これを実現するには自分でメソッドを用意する必要がありますか?
乱数を得るための方法は主にjava.util.Random()またはMath.random()の2通りあると思うんですが
なぜjava.util.Random()の方はMath.random()と違ってstaticではないのでしょうか?
それとint x = Math.random(n, m); でn以上m以下の整数を得るみたいにしたいんですけど
これを実現するには自分でメソッドを用意する必要がありますか?
559デフォルトの名無しさん (ワッチョイ c6a7-rSiG)
2022/02/12(土) 09:00:22.02ID:KQlQ75KL0560デフォルトの名無しさん (ワッチョイ 92bd-jbT1)
2022/02/12(土) 10:05:52.17ID:aqVglo+b0 学校の課題かな?
ランダム値生成のアルゴリズムは最初にシードを与えて値を複数回取り出すという内部状態を保持する操作なのでstaticは合わない
またサブクラス化してアルゴリズムを置き換えられるデザインになっている
クラス設計に慣れないうちはstaticが便利に感じるけど、後からMathのアルゴリズムを置き換えたいと思い立ったときにStrictMathのような似て非なるクラスを作るハメになったりする
整数を得るのはメソッド作るのがいいね
掛け算してから端数を切り捨てて最後に最小値を足す
ランダム値生成のアルゴリズムは最初にシードを与えて値を複数回取り出すという内部状態を保持する操作なのでstaticは合わない
またサブクラス化してアルゴリズムを置き換えられるデザインになっている
クラス設計に慣れないうちはstaticが便利に感じるけど、後からMathのアルゴリズムを置き換えたいと思い立ったときにStrictMathのような似て非なるクラスを作るハメになったりする
整数を得るのはメソッド作るのがいいね
掛け算してから端数を切り捨てて最後に最小値を足す
561デフォルトの名無しさん (ワッチョイ 6332-piVT)
2022/02/12(土) 15:40:29.63ID:63ijDjoD0562デフォルトの名無しさん (アウアウアー Sa6e-lJHB)
2022/02/12(土) 19:08:23.72ID:PUK1mMLna コンピューターはランダムというのが苦手ですからね。
563デフォルトの名無しさん (ワッチョイ 162c-ShCo)
2022/02/12(土) 19:24:12.62ID:8ted8XK+0 確か、Java の乱数は、線形合同法だから偏るだろ
Ruby のRandom は、メルセンヌ・ツイスタ・MT19937、
SecureRandom は、/dev/urandom または、OpenSSL
Ruby のRandom は、メルセンヌ・ツイスタ・MT19937、
SecureRandom は、/dev/urandom または、OpenSSL
564デフォルトの名無しさん (オッペケ Src7-gtE8)
2022/02/12(土) 19:26:57.53ID:38y+ETg9r MTも200個くらい連続して同じシードの値を取得できれば次を予測できるとか
565デフォルトの名無しさん (ワッチョイ a701-piVT)
2022/02/12(土) 20:56:52.34ID:kBzBXJs50 C++は選んで組み合わせ。
テンプレートでスタティックに。
テンプレートでスタティックに。
566デフォルトの名無しさん (オイコラミネオ MM5f-BRTb)
2022/02/16(水) 19:32:30.84ID:H+eMlsPeM javaからjnaでcのdllを呼び出した時のmain()ってjna側に取られてるんでしょうか?
main()からしか正常に扱えないライブラリを使おうとしていて、困っています。
ラッパー噛ませても何でもいいですので、jna呼び出しでc側のmain()をハンドリングする方法があれば教えてください。
main()からしか正常に扱えないライブラリを使おうとしていて、困っています。
ラッパー噛ませても何でもいいですので、jna呼び出しでc側のmain()をハンドリングする方法があれば教えてください。
567デフォルトの名無しさん (ワッチョイ cb19-Foos)
2022/02/17(木) 15:33:23.38ID:opMSV7ie0 リンカの仕組みわかってなさそう
568デフォルトの名無しさん (ワッチョイ 12ad-rCQD)
2022/02/18(金) 23:26:24.54ID:EylFm52t0 main()からしか正常に扱えないライブラリ?
どういうライブラリだそれ?
どういうライブラリだそれ?
569デフォルトの名無しさん (ワッチョイ 7332-iDSx)
2022/02/19(土) 22:57:01.76ID:Oy5N7IRS0 質問です
JavaSE11Silver黒本の204〜205ページにあるメソッドの可変長引数の解説で
(int... num, int value)のように宣言するとどこまでが第1引数でどこからが第2引数なのか判断できませんが、
(int value, int... num)のように宣言すると第1引数と第2引数以降が区別できます とありますが、
可変長引数が複数ない限り前者のパターンでも第1引数と第2引数は区別できる気がするんですけど
先に位置が確定してる引数を当てはめて残りを可変長引数として処理するみたいな逆算はできないってことでしょうか?
JavaSE11Silver黒本の204〜205ページにあるメソッドの可変長引数の解説で
(int... num, int value)のように宣言するとどこまでが第1引数でどこからが第2引数なのか判断できませんが、
(int value, int... num)のように宣言すると第1引数と第2引数以降が区別できます とありますが、
可変長引数が複数ない限り前者のパターンでも第1引数と第2引数は区別できる気がするんですけど
先に位置が確定してる引数を当てはめて残りを可変長引数として処理するみたいな逆算はできないってことでしょうか?
570デフォルトの名無しさん (テテンテンテン MM7f-AtCs)
2022/02/20(日) 00:00:49.60ID:XdacCmOfM できるよね
原文読んでないけどたぶん説明が良くないんだと思う
単にシンプル志向なので可変長引数は最後の引数でしか定義できないという言語仕様なだけだと思う
途中に置けるからといって変なところに置かれてもスゲー読みにくいし保守しにくい
原文読んでないけどたぶん説明が良くないんだと思う
単にシンプル志向なので可変長引数は最後の引数でしか定義できないという言語仕様なだけだと思う
途中に置けるからといって変なところに置かれてもスゲー読みにくいし保守しにくい
571デフォルトの名無しさん (ワッチョイ 7332-iDSx)
2022/02/20(日) 01:16:34.47ID:URWJGBg90572デフォルトの名無しさん (ワッチョイ 6f02-ZRla)
2022/02/24(木) 10:32:06.60ID:M77OcTbQ0 intellJでjava Enterprise プロジェクトを作成したんですが、サンプルページのHello ServletのURLクリックすると要求されたリソースが〜の404エラーになります。
javaファイルが読み込めてないっぽいのですがファイルの配置が悪いのでしょうか?
アプリケーションサーバーはtomcatです。
どなたか教えて下さるとありがたいです。
javaファイルが読み込めてないっぽいのですがファイルの配置が悪いのでしょうか?
アプリケーションサーバーはtomcatです。
どなたか教えて下さるとありがたいです。
573デフォルトの名無しさん (ワッチョイ cf10-kcXy)
2022/02/24(木) 19:45:53.21ID:Egr6Ec660 そんなマイナーなIDEは誰も使ってないから知らんわあほ
574Br (ワッチョイ 031d-ei6B)
2022/02/26(土) 21:26:52.21ID:lcZINIkB0 スッキリの次はどの本読んだらいいか教えてくれませんか?
575デフォルトの名無しさん (ワッチョイ 4a02-8W3/)
2022/02/26(土) 22:38:15.58ID:xS/SyeLk0 スッキリのservlet編か
その次はspringあたりか
その次はspringあたりか
577デフォルトの名無しさん (ワッチョイ cb32-kpC5)
2022/03/05(土) 05:07:33.50ID:UJmt72ot0 StreamAPIについて質問です
一つのStreamに対して終端処理が1回しかできないのはどういう理由からなのでしょうか?
共通の中間処理に対して複数の終端処理を行いたい場合一旦Collectionに戻してから
それぞれの終端処理に対して再度.stream()で再変換するのが手間に感じるのですが
一つのStreamに対して終端処理が1回しかできないのはどういう理由からなのでしょうか?
共通の中間処理に対して複数の終端処理を行いたい場合一旦Collectionに戻してから
それぞれの終端処理に対して再度.stream()で再変換するのが手間に感じるのですが
578デフォルトの名無しさん (テテンテンテン MM7f-VCKW)
2022/03/05(土) 09:29:53.13ID:GtenIzBYM >>577
minとmaxなんかは両方呼びたいという感覚はわかる
でもfindFirstとreduceは共存できない
findFirstを先に呼ぶと要素が見つかったらストリームが終了してしまうし、reduceを先に呼ぶと一つにまとめられてしまう
Streamの仕組みとユースケース的に妥当
共存させるための一般化した方法は二つ思いつく
一つは終端処理の直前で器に一旦溜め込むやり方
まさにcollectで終端させることと同じ
varとStream.toList()が使えれば多少は書きやすくなる
もう一つは複数の終端処理を引数にとり、すべての処理の気が済むまで委譲するという終端処理を用意すること
調べたらCollectors.teeing()というメソッドがJava12から導入されてた模様
minとmaxなんかは両方呼びたいという感覚はわかる
でもfindFirstとreduceは共存できない
findFirstを先に呼ぶと要素が見つかったらストリームが終了してしまうし、reduceを先に呼ぶと一つにまとめられてしまう
Streamの仕組みとユースケース的に妥当
共存させるための一般化した方法は二つ思いつく
一つは終端処理の直前で器に一旦溜め込むやり方
まさにcollectで終端させることと同じ
varとStream.toList()が使えれば多少は書きやすくなる
もう一つは複数の終端処理を引数にとり、すべての処理の気が済むまで委譲するという終端処理を用意すること
調べたらCollectors.teeing()というメソッドがJava12から導入されてた模様
579デフォルトの名無しさん (ワッチョイ 0fbb-631P)
2022/03/05(土) 09:38:57.36ID:suTSuZtU0 >>577
ストリームだからとしか。
Streamの元が、もしかしたらネットワークの向こう側から順次流れてくるデータかもしれないわけで、そうなると一度読み取って処理した値をもう一度使うにはメモリ上に溜めておくとかしないといけない。なので、一度Listにするとかが必要になる。
ストリームだからとしか。
Streamの元が、もしかしたらネットワークの向こう側から順次流れてくるデータかもしれないわけで、そうなると一度読み取って処理した値をもう一度使うにはメモリ上に溜めておくとかしないといけない。なので、一度Listにするとかが必要になる。
580デフォルトの名無しさん (ワッチョイ 0fbb-631P)
2022/03/05(土) 09:42:36.47ID:suTSuZtU0 >>577
ちな、minとmaxの両方を一度に欲しいとかなら、summarizingIntとか使えば可能。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/stream/Collectors.html#summarizingInt-java.util.function.ToIntFunction-
あるいはreduceとかで自分で集計すれば、一度でも色々できはする。
ちな、minとmaxの両方を一度に欲しいとかなら、summarizingIntとか使えば可能。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/stream/Collectors.html#summarizingInt-java.util.function.ToIntFunction-
あるいはreduceとかで自分で集計すれば、一度でも色々できはする。
581デフォルトの名無しさん (テテンテンテン MM7f-O8Dj)
2022/03/05(土) 10:46:22.36ID:ijTxjZdoM https://udemy.benesse.co.jp/development/system/java-if-else.html
>>Javaでネスト(入れ子)したif文の使い方
>> if( num1 > 5 ) {
>> System.out.println("5〜15の間");
×:(num1 > 5)
○:(num1 >= 5)
×:udemy
○:usomy
Java以前の問題
>>Javaでネスト(入れ子)したif文の使い方
>> if( num1 > 5 ) {
>> System.out.println("5〜15の間");
×:(num1 > 5)
○:(num1 >= 5)
×:udemy
○:usomy
Java以前の問題
582デフォルトの名無しさん (ワッチョイ 3b32-kpC5)
2022/03/05(土) 11:08:53.14ID:T37B/JxU0583デフォルトの名無しさん (ワッチョイ 6b1d-kpC5)
2022/03/05(土) 12:00:38.16ID:YJGHHadX0 多態性について質問です
https://paiza.io/projects/UevdJ8eMt3M3RHe7IEHBPQ
上のコードで、24行目のa.method();を実行した際に、
なぜサブクラスのメソッドが呼ばれるのか分かりません
確かに参考書にはそう書いてあるのですが、21行目のA a = b;を
実行した瞬間に変数aはサブクラスの情報がそぎ落とされてしまうような気が
するのですが…
https://paiza.io/projects/UevdJ8eMt3M3RHe7IEHBPQ
上のコードで、24行目のa.method();を実行した際に、
なぜサブクラスのメソッドが呼ばれるのか分かりません
確かに参考書にはそう書いてあるのですが、21行目のA a = b;を
実行した瞬間に変数aはサブクラスの情報がそぎ落とされてしまうような気が
するのですが…
584デフォルトの名無しさん (ワッチョイ 1f87-6iqn)
2022/03/05(土) 12:55:32.36ID:E5axBTdN0 >>583
スーパークラスだからイメージがわかないのかもしれないけどインタフェースでイメージしたらわかりやすいかな
インタフェースは実装を持たないけど左辺の型としては使えるよね
だとしたら実装はどこになるのかといったら右辺のインスタンスにある
これも同じで左辺はスーパークラスの型だけど実態は右辺のインスタンスだから動くのも右辺のインスタンスの処理
スーパークラスだからイメージがわかないのかもしれないけどインタフェースでイメージしたらわかりやすいかな
インタフェースは実装を持たないけど左辺の型としては使えるよね
だとしたら実装はどこになるのかといったら右辺のインスタンスにある
これも同じで左辺はスーパークラスの型だけど実態は右辺のインスタンスだから動くのも右辺のインスタンスの処理
585583 (ワッチョイ 6b1d-kpC5)
2022/03/05(土) 15:36:27.34ID:YJGHHadX0586デフォルトの名無しさん (テテンテンテン MM7f-VCKW)
2022/03/05(土) 16:09:21.61ID:GtenIzBYM Aに代入したからといってBがAに化けるわけじゃないよ
BをAとして認識するというニュアンス
例えば車両クラス(A)から派生した戦車クラス(B)のインスタンスをnewで一台生産したとする
戦車(B)であると知っている上官が前進しろと命令したら運転手はキャタピラで進む
ただの車両(A)としてしか認識してない交通整理員が前進しろと命令しても同じようにキャタピラで進む
動作するのはあくまでnewされて実体を得た本人
ただし車両としてしか認識してない人からしたら、砲撃メソッドを実装していることを意識してないので呼び出せない
でも車両クラスのメソッドをどう演じるかは本人の実装次第
BをAとして認識するというニュアンス
例えば車両クラス(A)から派生した戦車クラス(B)のインスタンスをnewで一台生産したとする
戦車(B)であると知っている上官が前進しろと命令したら運転手はキャタピラで進む
ただの車両(A)としてしか認識してない交通整理員が前進しろと命令しても同じようにキャタピラで進む
動作するのはあくまでnewされて実体を得た本人
ただし車両としてしか認識してない人からしたら、砲撃メソッドを実装していることを意識してないので呼び出せない
でも車両クラスのメソッドをどう演じるかは本人の実装次第
587デフォルトの名無しさん (ワントンキン MM7f-JL5k)
2022/03/05(土) 16:10:37.95ID:tv2gNRUqM おそらく変数に代入っていうイメージが間違ってる
参照型のイメージができてなさそう
参照型のイメージができてなさそう
588デフォルトの名無しさん (ワッチョイ 4fa7-2uaI)
2022/03/05(土) 16:57:36.99ID:ucLsxDYZ0 >>587
俺もそう思う
俺もそう思う
589デフォルトの名無しさん (ワッチョイ 4fa7-2uaI)
2022/03/05(土) 16:59:54.39ID:ucLsxDYZ0590583 (ワッチョイ 6b1d-kpC5)
2022/03/05(土) 17:39:28.28ID:YJGHHadX0 >>586-589
ありがとうございます
難しいですね
確かにその辺りの理解はあやふやになっています…
結局、先の例では、スーパークラスA型の変数aがサブクラスB型のインスタンスbを
参照する時、Bでオーバーライドした(元々Aで定義されている)メソッドは、
Bに基づく動作内容で呼ぶことになり、Bで新しく定義した(Aにはない)メソッドは
aからは呼べなくなるってことですよね?
ありがとうございます
難しいですね
確かにその辺りの理解はあやふやになっています…
結局、先の例では、スーパークラスA型の変数aがサブクラスB型のインスタンスbを
参照する時、Bでオーバーライドした(元々Aで定義されている)メソッドは、
Bに基づく動作内容で呼ぶことになり、Bで新しく定義した(Aにはない)メソッドは
aからは呼べなくなるってことですよね?
591デフォルトの名無しさん (ワッチョイ 1f87-6iqn)
2022/03/05(土) 18:01:27.61ID:E5axBTdN0592デフォルトの名無しさん (ワッチョイ 1f87-6iqn)
2022/03/05(土) 18:04:49.47ID:E5axBTdN0 途中で投げてしまったすみません。
だけど、実態としてはあるからリフレクションであれば呼び出せる。
だけど、実態としてはあるからリフレクションであれば呼び出せる。
593デフォルトの名無しさん (ワッチョイ 4fa7-2uaI)
2022/03/05(土) 18:15:28.23ID:ucLsxDYZ0 >>590
> >>586-589
> ありがとうございます
>
> 難しいですね
> 確かにその辺りの理解はあやふやになっています…
>
> 結局、先の例では、スーパークラスA型の変数aがサブクラスB型のインスタンスbを
> 参照する時、Bでオーバーライドした(元々Aで定義されている)メソッドは、
> Bに基づく動作内容で呼ぶことになり、Bで新しく定義した(Aにはない)メソッドは
> aからは呼べなくなるってことですよね?
大体合ってると思う
ただ、> スーパークラスA型の変数aがサブクラスB型のインスタンスbを の部分が違う気がする
あまり詳しくはないけど、まずnewで生成したオブジェクトのアドレスに相当するものがaに入る
そして、そのオブジェクトの動きはnewした方のクラスから見たものになる
だけど、動かすことのできるメソッド等は「親クラスにあるものだけ」になるね
継承した後のクラスは直接動かせない
もちろん、メソッド内で間接的に呼び出すとかなら可能だけど
簡単に言えば、mainメソッドとかのオブジェクトを動かす方からすれば「親の方で考える」ってこと
上のやつだとAの方にあるものだけ使える
デザインパターンのFactoryパターンのように、生成するメソッドで生成するって考えるとわかるかも
> >>586-589
> ありがとうございます
>
> 難しいですね
> 確かにその辺りの理解はあやふやになっています…
>
> 結局、先の例では、スーパークラスA型の変数aがサブクラスB型のインスタンスbを
> 参照する時、Bでオーバーライドした(元々Aで定義されている)メソッドは、
> Bに基づく動作内容で呼ぶことになり、Bで新しく定義した(Aにはない)メソッドは
> aからは呼べなくなるってことですよね?
大体合ってると思う
ただ、> スーパークラスA型の変数aがサブクラスB型のインスタンスbを の部分が違う気がする
あまり詳しくはないけど、まずnewで生成したオブジェクトのアドレスに相当するものがaに入る
そして、そのオブジェクトの動きはnewした方のクラスから見たものになる
だけど、動かすことのできるメソッド等は「親クラスにあるものだけ」になるね
継承した後のクラスは直接動かせない
もちろん、メソッド内で間接的に呼び出すとかなら可能だけど
簡単に言えば、mainメソッドとかのオブジェクトを動かす方からすれば「親の方で考える」ってこと
上のやつだとAの方にあるものだけ使える
デザインパターンのFactoryパターンのように、生成するメソッドで生成するって考えるとわかるかも
594583 (ワッチョイ 6b1d-kpC5)
2022/03/05(土) 21:14:30.65ID:YJGHHadX0595デフォルトの名無しさん (ワッチョイ 4fa7-2uaI)
2022/03/05(土) 22:07:38.34ID:ucLsxDYZ0 >>594
うーん、別に頭の良し悪しじゃなくて、単にイメージがしづらいだけじゃないかな
概念的なこと聞くより手を動かした方がいいかも
俺もいろんなとこで聞いたけど理解できずに、デザインパターンをやったりいろいろ工夫して手を動かしたらすんなり理解できるようになったし
まずデザインパターンのFactoryパターン辺りをやってみて?
Parent obj = new Child();
という生成をFactoryパターンでやると、
Parent obj = Factory.Create();
のような感じになるはず
そしたらこのobjを動かす方は内部でChildでnewしているかどうかは見えないよね?
単にParent型である保証しかされてない
でも言い換えると「Parentにあるメソッドはと持ってる」だよね?
実際の処理はオブジェクトであるobjが知ってるからobjに紐付いているメソッドを動かす
オーバーライドしてる場合は直近の「自身で再定義した方」
と解釈され、オーバーライドされてない場合は直近の「親の方」と解釈される
だって「自身で再定義した方」はないからね
そしてobjを動かす方からすれば(Childでnewしていようと)Childかなんてわかんない
だからChild独自のメソッドは使えない
もちろん、C#だとasとかでキャストしたりすれば(Childで生成しているなら)Child独自のメソッドも使えるけどね
FactoryMethodパターンはFactoryパターンの拡張版だからFactoryパターンを理解してみて)
うーん、別に頭の良し悪しじゃなくて、単にイメージがしづらいだけじゃないかな
概念的なこと聞くより手を動かした方がいいかも
俺もいろんなとこで聞いたけど理解できずに、デザインパターンをやったりいろいろ工夫して手を動かしたらすんなり理解できるようになったし
まずデザインパターンのFactoryパターン辺りをやってみて?
Parent obj = new Child();
という生成をFactoryパターンでやると、
Parent obj = Factory.Create();
のような感じになるはず
そしたらこのobjを動かす方は内部でChildでnewしているかどうかは見えないよね?
単にParent型である保証しかされてない
でも言い換えると「Parentにあるメソッドはと持ってる」だよね?
実際の処理はオブジェクトであるobjが知ってるからobjに紐付いているメソッドを動かす
オーバーライドしてる場合は直近の「自身で再定義した方」
と解釈され、オーバーライドされてない場合は直近の「親の方」と解釈される
だって「自身で再定義した方」はないからね
そしてobjを動かす方からすれば(Childでnewしていようと)Childかなんてわかんない
だからChild独自のメソッドは使えない
もちろん、C#だとasとかでキャストしたりすれば(Childで生成しているなら)Child独自のメソッドも使えるけどね
FactoryMethodパターンはFactoryパターンの拡張版だからFactoryパターンを理解してみて)
596デフォルトの名無しさん (ワッチョイ 4fa7-2uaI)
2022/03/05(土) 22:11:54.81ID:ucLsxDYZ0598デフォルトの名無しさん (テテンテンテン MM7f-vlUs)
2022/03/08(火) 10:00:08.97ID:fDKm90VIM バッファってなんや
599デフォルトの名無しさん (テテンテンテン MM7f-VCKW)
2022/03/08(火) 10:22:50.69ID:HM66xeZmM 音楽の父や
600デフォルトの名無しさん (テテンテンテン MM7f-vlUs)
2022/03/08(火) 10:49:04.07ID:fDKm90VIM バッハじゃなくて……
601デフォルトの名無しさん (ワッチョイ 4fa7-2uaI)
2022/03/08(火) 11:02:44.47ID:44N8vijo0602デフォルトの名無しさん (テテンテンテン MM7f-VCKW)
2022/03/08(火) 12:02:51.15ID:HM66xeZmM イメージ的にダムとかコンデンサとかみたいな何かを貯めておくものを指すよ
ダムに水を貯めておけば日照りが続いても安定して水が飲めるし、川上が増水しても川下の村が水浸しにならない
しょぼい乾電池でも電流をコンデンサに貯めれば強烈なフラッシュを炊ける
プログラミングの場合も同じ
典型的には、ネットワークから受信したりプログラムで動的に生成したデータをファイルに書き込みたいときとか、互いの読み書き速度が違う2つのデータの流れがあるとき、互いの性能差を埋めつつ資源を有効活用する(読み書き回数を減らしたり専有時間を最小化する等)ときとかに使う
ダムに水を貯めておけば日照りが続いても安定して水が飲めるし、川上が増水しても川下の村が水浸しにならない
しょぼい乾電池でも電流をコンデンサに貯めれば強烈なフラッシュを炊ける
プログラミングの場合も同じ
典型的には、ネットワークから受信したりプログラムで動的に生成したデータをファイルに書き込みたいときとか、互いの読み書き速度が違う2つのデータの流れがあるとき、互いの性能差を埋めつつ資源を有効活用する(読み書き回数を減らしたり専有時間を最小化する等)ときとかに使う
603デフォルトの名無しさん (ワッチョイ 1f87-6iqn)
2022/03/08(火) 17:48:34.50ID:mkTZ49v/0 例えばファイルを読み込むときにFileStreamのバッファサイズが1Mだと
ディスクから1M読み込んで処理してまた1M読み込むから効率が悪くなる。
バッファサイズを100Mにすればディスクから100Mまとめて一気に読み込むから効率が良い。
でも、その分メモリを消費するから性能とメモリのトレードオフ。
ディスクから1M読み込んで処理してまた1M読み込むから効率が悪くなる。
バッファサイズを100Mにすればディスクから100Mまとめて一気に読み込むから効率が良い。
でも、その分メモリを消費するから性能とメモリのトレードオフ。
604デフォルトの名無しさん (アークセー Sx4f-kpC5)
2022/03/09(水) 12:05:39.48ID:BxY0cuLtx java初心者です。初案件でjavaのマイグレーションとのことで入ることになりました。
現状これ以上の情報がまだはいっていません。
Javasilverは独学にて取得済みです。
これって経験としてどうなんでしょうか。どなたか教えて頂きたいです。
よろしくお願いします。
現状これ以上の情報がまだはいっていません。
Javasilverは独学にて取得済みです。
これって経験としてどうなんでしょうか。どなたか教えて頂きたいです。
よろしくお願いします。
605デフォルトの名無しさん (ワンミングク MMbf-JL5k)
2022/03/09(水) 13:17:42.06ID:YihDzyuxM >>604
そもそもマイグレーションって何だかわかってますか?
そもそもマイグレーションって何だかわかってますか?
606デフォルトの名無しさん (アークセー Sx4f-kpC5)
2022/03/09(水) 17:03:56.48ID:BxY0cuLtx >>605
ありがとうございます。
いえ、あんまりわかってないです。ネットで調べた程度で
活用中のシステムを別の環境やバージョンへ「移行すること」
だそうで、リプレイスとは違うとかなんとか。
現行のシステムから移行計画をたてて、テストして、本番環境
に切り替える程度の認識です。
これって上流工程なのかテストもあるし、そんなにスキル
がつくのかもわからないです。
一応まだ断ることもできるんですが、
何かしらアドバイスいただけたらありがたいです。
ありがとうございます。
いえ、あんまりわかってないです。ネットで調べた程度で
活用中のシステムを別の環境やバージョンへ「移行すること」
だそうで、リプレイスとは違うとかなんとか。
現行のシステムから移行計画をたてて、テストして、本番環境
に切り替える程度の認識です。
これって上流工程なのかテストもあるし、そんなにスキル
がつくのかもわからないです。
一応まだ断ることもできるんですが、
何かしらアドバイスいただけたらありがたいです。
607デフォルトの名無しさん (ブーイモ MM7f-5+bU)
2022/03/09(水) 21:18:10.88ID:y0Y93q++M Javaのバージョン上げるだけとかならそれなりに出来ることありそうだけど
それ以外ならテスター要員だろうな
それ以外ならテスター要員だろうな
608デフォルトの名無しさん (ワッチョイ 3b32-84yK)
2022/03/10(木) 08:01:42.64ID:Uh43IBqs0 到達不能コードのコンパイルエラーについて質問です
JavaSE11Silver黒本の3章18問に下記のコードの結果を答える問題があり、答えは「Cが表示される」なのですが
このときnum = 10ならば必ずCが表示され、Dは絶対に表示されないため
到達不能コードでコンパイルエラーが発生する気がするのですが
ifの判定文まで到達可能ならば例えばif(false)であってもその中身は到達不能コードには当たらないのでしょうか?
int num = 10;
if (num == 100)
System.out.println("A");
else if (10 < num)
System.out.println("B");
else
if (num == 10)
System.out.println("C");
else
if (num == 10)
System.out.println("D");
JavaSE11Silver黒本の3章18問に下記のコードの結果を答える問題があり、答えは「Cが表示される」なのですが
このときnum = 10ならば必ずCが表示され、Dは絶対に表示されないため
到達不能コードでコンパイルエラーが発生する気がするのですが
ifの判定文まで到達可能ならば例えばif(false)であってもその中身は到達不能コードには当たらないのでしょうか?
int num = 10;
if (num == 100)
System.out.println("A");
else if (10 < num)
System.out.println("B");
else
if (num == 10)
System.out.println("C");
else
if (num == 10)
System.out.println("D");
609デフォルトの名無しさん (ワッチョイ 9fd1-OYGG)
2022/03/10(木) 08:13:43.65ID:bRBcjGmR0 あくまで補助機能だからね
判断はご自分でとうぞ
判断はご自分でとうぞ
610デフォルトの名無しさん (テテンテンテン MM7f-VCKW)
2022/03/10(木) 08:25:16.02ID:9QpyAq00M そういう仕様のはず
テスト的に処理の冒頭で例外を起こしたいとき if (true) throw Exception(); みたいに書ける
テスト的に処理の冒頭で例外を起こしたいとき if (true) throw Exception(); みたいに書ける
611デフォルトの名無しさん (ワッチョイ 3b32-84yK)
2022/03/10(木) 09:12:34.07ID:Uh43IBqs0 >>609-610
返答ありがとうございます
自分でコードを書けばエラーが発生するかどうかは明らかですが
試験でunreachable codeが発生するかどうか問われた時は内容次第なので
状況毎に暗記する必要があるということですか?
返答ありがとうございます
自分でコードを書けばエラーが発生するかどうかは明らかですが
試験でunreachable codeが発生するかどうか問われた時は内容次第なので
状況毎に暗記する必要があるということですか?
612デフォルトの名無しさん (ワッチョイ 9fd1-OYGG)
2022/03/10(木) 09:18:54.74ID:bRBcjGmR0 解らない問題に答える必要あるの?
経験者むけサービスかもよ?
経験者むけサービスかもよ?
613デフォルトの名無しさん (ワッチョイ 2bf0-ZqaA)
2022/03/10(木) 10:15:57.73ID:Sbdp6iYa0 素直に言語仕様読め
ttps://docs.oracle.com/javase/specs/index.html
ttps://docs.oracle.com/javase/specs/jls/se17/html/jls-14.html#jls-14.22
> 14.22. Unreachable Statements
>
> It is a compile-time error if a statement cannot be executed because it is unreachable.
>
> This section is devoted to a precise explanation of the word "reachable."
> The idea is that there must be some possible execution path
> from the beginning of the constructor, method, instance initializer, or static initializer
> that contains the statement to the statement itself.
> The analysis takes into account the structure of statements.
> Except for the special treatment of while, do, and for statements
> whose condition expression has the constant value true,
> the values of expressions are not taken into account in the flow analysis.
ttps://docs.oracle.com/javase/specs/index.html
ttps://docs.oracle.com/javase/specs/jls/se17/html/jls-14.html#jls-14.22
> 14.22. Unreachable Statements
>
> It is a compile-time error if a statement cannot be executed because it is unreachable.
>
> This section is devoted to a precise explanation of the word "reachable."
> The idea is that there must be some possible execution path
> from the beginning of the constructor, method, instance initializer, or static initializer
> that contains the statement to the statement itself.
> The analysis takes into account the structure of statements.
> Except for the special treatment of while, do, and for statements
> whose condition expression has the constant value true,
> the values of expressions are not taken into account in the flow analysis.
614デフォルトの名無しさん (ワッチョイ 3b32-84yK)
2022/03/10(木) 10:31:00.79ID:Uh43IBqs0615デフォルトの名無しさん (アークセー Sx4f-kpC5)
2022/03/10(木) 10:43:42.56ID:gMDgr+Ggx616デフォルトの名無しさん (テテンテンテン MM7f-VCKW)
2022/03/10(木) 14:00:24.98ID:Pbl5vAiZM >>611
そんな細かいところまで覚えなくても試験受かるよ
そんな細かいところまで覚えなくても試験受かるよ
617デフォルトの名無しさん (ワッチョイ ef95-6iqn)
2022/03/11(金) 20:56:48.66ID:dOzyUYLo0618デフォルトの名無しさん (ワッチョイ 691d-pPbi)
2022/03/12(土) 17:05:26.26ID:d2Iz9kMm0 質問です
https://paiza.io/projects/b4a4wtvE8DNSwj1jy0ciTg
上のコードの7行目の出力結果がab, aになる理由が分かりません
str2はstr1と同じものを参照しているので、str1の参照先が変われば
str2の参照先も変わると思うのですが
https://paiza.io/projects/b4a4wtvE8DNSwj1jy0ciTg
上のコードの7行目の出力結果がab, aになる理由が分かりません
str2はstr1と同じものを参照しているので、str1の参照先が変われば
str2の参照先も変わると思うのですが
619デフォルトの名無しさん (ワッチョイ 3d5a-Esq5)
2022/03/12(土) 17:23:02.54ID:UYsDHEDe0 こういうC/C++のポインタ、文字列定数、newとかの理解なしにJavaだけやろうとすると間接参照の構造が理解できなくて分からんくなるよね
JavaのStringクラスはイミュータブルといって内容を途中で変更しないポリシーになっている
正しいかは知らんけど下記のような意味になる
String str1=new String("a");
String str2 = str1;
str1=new String(str1 + "b");
文字列結合演算子は新しいStringクラスを生成する
str1とstr2は結果として異なるものを指しているのでab,aとなる
JavaのStringクラスはイミュータブルといって内容を途中で変更しないポリシーになっている
正しいかは知らんけど下記のような意味になる
String str1=new String("a");
String str2 = str1;
str1=new String(str1 + "b");
文字列結合演算子は新しいStringクラスを生成する
str1とstr2は結果として異なるものを指しているのでab,aとなる
620デフォルトの名無しさん (ワッチョイ c602-WCXV)
2022/03/12(土) 17:57:26.72ID:GGUhV+6j0 str2
str2 = str1 の時点で新たな領域を確保してるんじゃないかな
str2 = str1 の直後にデバッガで str1 の値を変更しても st2 の値が変わらない
文字列の足し算をしたときに str1 が別の領域を指すようになるというのはその通りだけども
str2 = str1 の時点で新たな領域を確保してるんじゃないかな
str2 = str1 の直後にデバッガで str1 の値を変更しても st2 の値が変わらない
文字列の足し算をしたときに str1 が別の領域を指すようになるというのはその通りだけども
621デフォルトの名無しさん (ワッチョイ c602-WCXV)
2022/03/12(土) 18:20:39.50ID:GGUhV+6j0 間違いでした。str1 に文字を足した時点で str1 が別の領域を指すようになるが正しいですね。失礼しました。
622デフォルトの名無しさん (テテンテンテン MMe6-1c6A)
2022/03/12(土) 19:13:53.68ID:Pwg7r5DPM > 同じものを参照しているので、str1の参照先が変わればstr2の参照先も変わる
これが誤解
参照先が一緒に変わることはない
もしそんなことが起こる言語仕様なら、一時的に同じものを参照させていたけど、後からまた別々のものを参照させたい、という操作ができなくなってしまう
これが誤解
参照先が一緒に変わることはない
もしそんなことが起こる言語仕様なら、一時的に同じものを参照させていたけど、後からまた別々のものを参照させたい、という操作ができなくなってしまう
623618 (ワッチョイ 691d-pPbi)
2022/03/12(土) 21:48:07.71ID:d2Iz9kMm0 >>619-622
回答ありがとうございます
>>618のコードの4行目ではstr1とstr2は同じアドレスを参照していて、
6行目でstr1の参照先だけが変わり、str2は変わらず同じアドレスを指している
という理解でいいですかね?
https://paiza.io/projects/5peEJB86LZ16u2cgEFvEgA
int型変数の場合も同じような挙動になるようですね
回答ありがとうございます
>>618のコードの4行目ではstr1とstr2は同じアドレスを参照していて、
6行目でstr1の参照先だけが変わり、str2は変わらず同じアドレスを指している
という理解でいいですかね?
https://paiza.io/projects/5peEJB86LZ16u2cgEFvEgA
int型変数の場合も同じような挙動になるようですね
624デフォルトの名無しさん (ワッチョイ 2287-9pEf)
2022/03/13(日) 12:26:10.29ID:1xjzmzRe0626デフォルトの名無しさん (ワッチョイ 7e02-oq0u)
2022/03/14(月) 22:21:25.59ID:0OByol6E0 スレチだったら申し訳ないのですが、imgui-javaをM1 macで使うことって可能でしょうか?
githubのissueに「I won't support it macOS arm64」とあるので既にダメそうではあるのですが…
issueで報告されているエラーではなくCan't load library: libimgui-java64.dylibというエラーが出たのみだったのでどうにか解決できないかなと感じてます
githubのissueに「I won't support it macOS arm64」とあるので既にダメそうではあるのですが…
issueで報告されているエラーではなくCan't load library: libimgui-java64.dylibというエラーが出たのみだったのでどうにか解決できないかなと感じてます
627デフォルトの名無しさん (ワッチョイ 7e02-ZFfG)
2022/03/15(火) 08:26:03.34ID:7JI7znBe0 ↑ですが解決しました
お騒がせいたしました
お騒がせいたしました
628デフォルトの名無しさん (ワッチョイ 095f-vveo)
2022/03/15(火) 17:44:34.36ID:xLirFsOB0 try{
処理
} catch(ArrayIndexOutOfBoundsException e){
処理
} catch (IOException e) {
処理
} finally{
処理
}
上記のプログラムで
ArrayIndexOutOfBoundsExce
IOException
を問わずexceptionが発生したら実行したい処理があります
何か良い方法はありませんでしょうか
catchは処理の都合でわざと分けています
処理
} catch(ArrayIndexOutOfBoundsException e){
処理
} catch (IOException e) {
処理
} finally{
処理
}
上記のプログラムで
ArrayIndexOutOfBoundsExce
IOException
を問わずexceptionが発生したら実行したい処理があります
何か良い方法はありませんでしょうか
catchは処理の都合でわざと分けています
629デフォルトの名無しさん (テテンテンテン MMe6-1c6A)
2022/03/15(火) 18:25:38.65ID:Cmsuiz4vM 共通処理をprivateメソッドに切り出して双方から呼ぶ
630デフォルトの名無しさん (ワッチョイ 02b1-GsTO)
2022/03/15(火) 20:51:31.95ID:2TepCKpy0 >>628
3個目のcatchにException eとすれば?
3個目のcatchにException eとすれば?
631デフォルトの名無しさん (ワッチョイ 7ea7-cs1e)
2022/03/15(火) 21:13:33.30ID:w32P7zDl0632デフォルトの名無しさん (ワッチョイ 095f-vveo)
2022/03/15(火) 22:12:25.19ID:xLirFsOB0633デフォルトの名無しさん (ワッチョイ 691d-pPbi)
2022/03/15(火) 22:28:50.19ID:7LI6bjmj0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【熊本】園児に強制性交か 保育所勤務の男を逮捕「性的な欲望が我慢できなかった」警察は余罪を調べる [七波羅探題★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 【サッカー】上田綺世の活躍は「一過性」 15戦18発も…オランダ英雄は懐疑的な姿勢「確信に至っていない」 [ゴアマガラ★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★3 [ぐれ★]
- 【サッカー】元日本代表DF冨安がオランダ1部アヤックスと大筋合意か 現地メディア報じる [久太郎★]
- 中国の日本向けレアアースの輸出止まる、高市のせいで日本終了のお知らせ [931948549]
- 【朗報】ハンターハンターのキメラアント編より面白い作品、存在しない [339035499]
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ180
- 韓国政府、高市早苗の「竹島領土」発言にブチギレwwwwwwwwwwwwwwww [834922174]
- 【画像】小泉防衛大臣の頭皮、存立危機に認定 [834922174]
- 🏡
