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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウウー Sa73-AAco [106.132.135.194])
垢版 |
2018/11/19(月) 11:37:06.10ID:C68x9bSia

プログラミング言語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
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。

前スレ
★★Java質問・相談スレッド181★★
https://mevius.5ch.net/test/read.cgi/tech/1518252580/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
343デフォルトの名無しさん (ワッチョイ af02-XAPB [175.134.57.7])
垢版 |
2019/05/16(木) 02:52:56.95ID:VmtTFfWG0
>>342
https://qiita.com/java-beginner/items/9fc60e3754445a57266e
344デフォルトの名無しさん (ワッチョイ 1fb9-Q2B8 [123.1.16.202])
垢版 |
2019/05/16(木) 02:57:46.45ID:/8K02Lja0
jniでネイティブコードを呼び出した場合、
オーバーヘッドじゃなくて実行中の性能に差は出るんだろうか?
345デフォルトの名無しさん (アウアウウー Sa57-RNyv [106.132.125.81])
垢版 |
2019/05/16(木) 09:17:37.19ID:m1+/MMjMa
それはそのnativeなコードがどう作られているかによるのでは?
2019/05/16(木) 11:31:30.57ID:FdIcaypr0
>>344
結構、出るはず。
特に、C/C++ は GC が無いので、体感速度に影響が出るくらい速く動く場合
も少なくないはず。実際、現実にC#とC++でもかなりの速度差があるのは、GCの
せいだと考えられるし。
2019/05/16(木) 13:56:57.10ID:jfYFXUay0
native バイナリで動く言語は、システムへの保護がCPUレベルの #GPE などで
コスト0で行えるのに対し、VMで動く言語は通常、VMシステムへのデータ保護
がソフトウェアレベルで行われていることが多く、JITコンパイラでバイナリ
コードに変換されても、その部分による速度差が埋まらない。
だから、アプリ自身のコードは、nativeバイナリに比べて3〜5倍程度の
遅さで動いていることが多い。
2019/05/16(木) 14:43:58.42ID:EcUEf5OyM
>>344が聞きたいのはそういうことじゃないと思うよ
349344 (ワッチョイ 1fb9-Q2B8 [123.1.16.202])
垢版 |
2019/05/16(木) 16:45:48.62ID:/8K02Lja0
JNIから呼び出されたネイティブコードvs純粋なネイティブコード
の話。
オーバーヘッドがあるのは分かるけど、
それ以外の実行中の性能にも差があるのか?
2019/05/16(木) 17:03:52.02ID:NDYfZfUA0
後出し乙
2019/05/16(木) 17:08:54.38ID:FdIcaypr0
>>349
ああ、そういうことなら、原則的に「無い」ハズ。
本当に CPU が Linux の普通のbinaryのコマンドと同じように
実行してるだけだから。実際、JNI のC/C++部分のコードは、
shared library の libxxxx.so になっていて、Activity の
クラスの初期化時にプロセスの中に動的にロードされて使われている。
この so ファイルは、linux の elf 形式の arm バイナリ・コード
になっていて、Androidではない、UbuntuなどのLinuxの普通の
共有ライブラリと全く同じように実行されている。
352デフォルトの名無しさん (ワッチョイ 1fb9-Q2B8 [123.1.16.202])
垢版 |
2019/05/16(木) 17:32:47.73ID:/8K02Lja0
むしろ>>344をほかにどんな意味に受け取るのか教えて欲しい
353デフォルトの名無しさん (ワッチョイ 1fb9-Q2B8 [123.1.16.202])
垢版 |
2019/05/16(木) 17:35:08.03ID:/8K02Lja0
GraalVMだとネイティブコードでも配列の境界チェックとかをしてるとかで
ちょっと遅いらしいんだけど
JVMだとそれは無いのか
2019/05/16(木) 17:44:56.12ID:716ODGdI0
>>334
1. 3つ以上の引数を受け取りたい時はそうしなきゃいけないし、Byte、Float、Short、Booleanのボクシングのコストを許容しない場合もそうしなきゃいけない。
2. FuctionalInterfaceは主にラムダ式用だから明示的にacceptはよびださないとおもう。
2019/05/16(木) 17:46:32.67ID:716ODGdI0
>>353
Java言語規格で境界チェックは必須になってたような?でもJITで境界チェックが(明示的に安全なfor-eachとかで)取り除かれるとかはあるかも?
2019/05/16(木) 17:47:35.25ID:HsyFIqWHM
>>350
早漏ハゲ
2019/05/16(木) 18:35:49.90ID:jfYFXUay0
>>353 >>355
JNI の native コードは、単純にCPUが NO CHECK で実行するだけなので、
JVMもろとも壊そうと思えば壊せるはず。
逆に言えばなんでも出来て、推定だけど、Linuxのシステムコールは基本的に
自由に呼べると思う。ただし、su, sudo コマンドみたいなものまで
作れるかどうかは良く知らない。
2019/05/16(木) 18:40:34.35ID:jfYFXUay0
コマンドの permission に 「setuid bit」が立ってないと sudo のような
コマンドは作れないらしいね・・・。s
2019/05/17(金) 23:18:07.90ID:B7prjqK/a
たぶんID:/8K02Lja0はgraalのどこかを勘違いしてるんだと思う。
graalはまず、javaでjitコンパイラ書くapiが新しく作られて、それを利用したjitを持つランタイムでjavaとは全く別の製品だからjavaの仕様は無関係。
ネイティブコード吐くときに境界チェックするとかはこのコンパイラ挙動で、それを実装するのがjitコンパイラ書くapiのユーザーの仕事なんだよ。
360デフォルトの名無しさん (ワッチョイ 1fb9-Q2B8 [123.1.16.202])
垢版 |
2019/05/19(日) 22:14:02.97ID:0ps74q4q0
jarに同梱されてるクラスと
クラスパスに与えられたjarのクラスで
パッケージ名やクラス名が重複していたら
どっちが優先して使われる?
2019/05/19(日) 22:20:29.30ID:3AX6EsSbM
>>360
未定義
Javaでは同一の修飾名をもつクラスは絶対に存在してはいけない
362デフォルトの名無しさん (ワッチョイ 432e-IJ5s [118.86.140.191])
垢版 |
2019/05/19(日) 22:21:58.50ID:iZGlVtrY0
>>360
クラスパスに指定されてる順に優先されるよ
-cp A.jar:B.jar
だったらA.jarが優先される
363デフォルトの名無しさん (ワッチョイ 432e-IJ5s [118.86.140.191])
垢版 |
2019/05/19(日) 22:23:56.93ID:iZGlVtrY0
>>361
んなこたーない(タモさん
パッケージプロテクテッドのメソッドをオーバーライドするときに
同じパッケージにクラス作ることあるよ
364デフォルトの名無しさん (ワッチョイ 1fb9-Q2B8 [123.1.16.202])
垢版 |
2019/05/19(日) 22:32:27.85ID:0ps74q4q0
>>362
でも-jar xxx.jarみたいな場合、-cpじゃないんですが
2019/05/19(日) 22:34:16.82ID:wxi6QMEK0
さすが国際派弁護士
2019/05/19(日) 22:34:55.56ID:wxi6QMEK0
86才か、十分だろ
2019/05/19(日) 22:35:22.57ID:wxi6QMEK0
誤爆、すまそ
368デフォルトの名無しさん (ワッチョイ 432e-IJ5s [118.86.140.191])
垢版 |
2019/05/19(日) 23:01:48.29ID:iZGlVtrY0
>>364
-jarが優先されるよ
-jarと-cpは併用できない
369デフォルトの名無しさん (ワッチョイ 1fb9-Q2B8 [123.1.16.202])
垢版 |
2019/05/20(月) 00:00:36.14ID:ljCiVFHi0
https://stackoverflow.com/questions/18413014/run-a-jar-file-from-the-command-line-and-specify-classpath

ここによると-cpの時Mainメソッドを含むクラスを指定しなきゃいけないみたいだけど
発見されるマニフェストファイルが1つだったらそれを頼りにMainメソッドを特定できそうだけど
いちいち指定するしかないの?
370デフォルトの名無しさん (ワッチョイ 432e-IJ5s [118.86.140.191])
垢版 |
2019/05/20(月) 00:11:29.34ID:9bk38djr0
>>369
指定するしかないよ
マニフェストファイルのMain-Classは実行可能Jarで使用されるものだから
それが使われるのは-jarを使ったときのみ
2019/05/20(月) 22:21:09.99ID:gJcgFuWQ0
Javaは有償ではないそうだ
https://www.itmedia.co.jp/news/articles/1905/20/news123.html
2019/05/20(月) 22:54:45.29ID:KADFzuXRa
>>360
JVMS§5.3.4.かな。
2019/05/21(火) 08:06:04.69ID:CTqbZzlK0
>>371
詭弁ですね…
@OpenJDK は新しいバージョンが出るとサポートが打ち切られる
A8年間のサポートが保障される LTS は有償

ど う 考 え て も   J a v a   は 有 償
2019/05/21(火) 08:28:08.82ID:+KjL9pSSM
>>373
新しいバージョンがサポートされるよ
2019/05/21(火) 08:32:04.98ID:+KjL9pSSM
アダプトとかアマゾンとかが数年単位のサポートは提供するよ
376デフォルトの名無しさん (ワッチョイ 4fda-53Kk [211.16.249.52])
垢版 |
2019/05/21(火) 09:10:10.78ID:QjYRL2JZ0
古いバージョンそのまま使い続けたらどうなるん?
何か困るんかね
2019/05/21(火) 11:19:38.99ID:EK+TFNQDM
アプリの実装に問題がなくても、
Javaの脆弱性を突かれて問題が発生したりして、
偉い人に怒られる。
378デフォルトの名無しさん (ブーイモ MM6f-yzpl [210.149.254.87])
垢版 |
2019/05/21(火) 13:27:05.00ID:qWv1RF+mM
インターフェースやジェネリクスの勉強がてらqueueの実装をしてみたいのですが、
何かお手本になるOSSやクラスありましたら教えて下さい。
2019/05/21(火) 14:29:45.10ID:+KjL9pSSM
>>378
JavaのArrayDequeとか
2019/05/21(火) 20:16:18.82ID:kdkwqODuM
>>378
queue java 実装 とかでググれば色々出てくるだろ
https://www.atmarkit.co.jp/ait/spv/1010/14/news127.html
381デフォルトの名無しさん (ワッチョイ 13b9-9b2Z [123.1.16.202])
垢版 |
2019/05/24(金) 10:11:59.56ID:h3dkW7YJ0
javaの各バージョンの利用者割合の最新情報ある?
2019/05/24(金) 13:54:03.96ID:MvD1XNgcM
>>381
それを知ってどうするの?
SIなら要件上許される範囲で最も新しいLTSを選べばよい。
自社(or個人)サービスなら非LTSの最新を選べばよい。
まさかとは思うがデスクトップアプリの話してるのだとしたら、スタンドアロンJREは廃止されたから、クライアントに元々インストールされているJavaに依存することはできない。
好きなバージョンをアプリに同梱して配布することになる。
いずれにしてもJavaのバージョンは開発者がコントロールするものであり、シェアを気にする意味はない。
2019/05/24(金) 16:01:25.52ID:UCsdq/wma
wordpressとかいうのをいじるのつまらなくなったからスッキリわかるjavaかったがやっぱり勉強ってこういう分厚い参考書でやるのが楽しいんだよな!
という事でweb系からjavaの勉強に切り替えます!
俺だけ?
2019/05/24(金) 16:14:23.31ID:Wq593JaR0
アホ、これでいいか
2019/05/24(金) 20:48:44.65ID:0N6+tWvP0
>>382
永劫 Java8 で固定される(LTSも延長される)未来が見えます…
2019/05/24(金) 20:49:26.05ID:0N6+tWvP0
>>383
奇遇ですね、私は Java8 から web 系(rails)に乗り換える予定なのです
2019/05/24(金) 21:47:32.07ID:olKCCVcV0
>>385
日本国籍持ってるの?
2019/05/24(金) 21:50:52.46ID:0N6+tWvP0
>>387
個人番号通知票は持っています
2019/05/24(金) 21:58:56.05ID:olKCCVcV0
>>388
帰化したのか
390381 (ワッチョイ 13b9-9b2Z [123.1.16.202])
垢版 |
2019/05/24(金) 22:28:19.75ID:h3dkW7YJ0
>>382
私はJavaエコシステムがJava8に留まってJava9+を無視するのではないかと思っています。
私自身はそうします。
Jigsawや自己完結型というアイデアを拒否します。

それで、世界の動向がどうなのか知りたかった。
391デフォルトの名無しさん (ワッチョイ 13b9-9b2Z [123.1.16.202])
垢版 |
2019/05/24(金) 22:29:20.10ID:h3dkW7YJ0
言語仕様が無駄に複雑化していく事も嫌です。
392デフォルトの名無しさん (ワッチョイ 13b9-9b2Z [123.1.16.202])
垢版 |
2019/05/25(土) 05:46:59.17ID:7Hh+Cor80
Javaについて調べていると「Javaはサンドボックスを持つ」みたいな記述が出てくるんですが
それはアプレットの事で現在のJavaにはありませんよね?
393デフォルトの名無しさん (ワッチョイ 0b63-rgvw [153.229.160.113])
垢版 |
2019/05/25(土) 09:59:05.83ID:GthOBKy30
>>392
ある
394デフォルトの名無しさん (ワッチョイ 13b9-9b2Z [123.1.16.202])
垢版 |
2019/05/25(土) 11:08:34.34ID:7Hh+Cor80
何で検索したら出てきますか?
395デフォルトの名無しさん (ワッチョイ 13b9-9b2Z [123.1.16.202])
垢版 |
2019/05/25(土) 16:15:01.18ID:7Hh+Cor80
executable jar fileはどの環境でもダブルクリックで起動できますか?
396デフォルトの名無しさん (ワッチョイ 992e-dNxZ [118.86.132.227])
垢版 |
2019/05/25(土) 16:17:42.52ID:BD9fwrcm0
>>395
・javaがインストールされてる
・拡張子.jarがjavaに設定されている
の条件が必要かと
2019/05/25(土) 17:40:31.80ID:gn+NIEQb0
>>394
一番堅いのはJVMの仕様書を読むこと

昔も今もJVM上で動くプログラムはすべてSandboxで実行される
その外に出ようとする動作はSecurityManagerが許可不許可を判断して、ダメなら例外を投げて落ちる仕組み
ただし、ローカルで実行されるアプリはデフォルトがすべて許可なので例外が起きることはない
2019/05/25(土) 23:22:06.84ID:R40PP6XIM
未経験の他業種工業系アヘアヘ資格マンなんだがオラクル資格は制作物作った後にそのレベル相応の色の奴を取った方がよいの?
それともアヘ顔でgoldの参考書から先に手をつけても良いの
2019/05/26(日) 03:25:14.35ID:mqz5L0en0
goldでも実務経験ないと「で?」って対応されるで
2019/05/26(日) 08:07:49.28ID:+MRcn5Kya
>>399
やっぱりな 
電験3種と同じか
401デフォルトの名無しさん (ワッチョイ 115f-k3B8 [106.72.163.96 [上級国民]])
垢版 |
2019/05/26(日) 12:05:01.48ID:heQPrNEA0
>>400
そもそも電気主任技術者は実務が簡単で、さらに試験が実務とかけ離れていて、とにかく謎資格だから比較対象として挙げるべきではない。
2019/05/26(日) 15:39:35.06ID:CpBTYp0n0
>>400-401
あれは地頭をみるための篩なんですよ、持ってればエントリーできる、持ってなければ門前払い、ってやつです
証書番号で試験組か認定組かを判別できるようにしてあるのも、そういう理由によるものです
2019/05/27(月) 00:08:07.02ID:+OdnEgpaa
sandboxなんてとっくの昔にない。大昔からパーミッションと特権で動いてる。
AccessControllerのjavadoc読め。いつまでsandboxとか言ってんだ。
2019/05/27(月) 07:04:51.95ID:Pjuubp9p0
>>403
その機構をオラクルがsandboxって呼んでるじゃん
2019/05/28(火) 01:15:52.38ID:fEVmQ8I80
eclipseのクラス図自動生成ができない
ドラッグ&ドロップしてもプログラムのタブが開くだけ
2019/05/28(火) 22:43:22.31ID:irfCDf6Aa
>>404
呼んでないからSecurity関連の文書読め。
2019/05/28(火) 23:31:39.52ID:/Hk6Z6hT0
宇宙刑事ジャバン
2019/05/31(金) 01:42:20.40ID:DmEc6oV20
https://qiita.com/rubytomato@github/items/e4fda26faddbcfd84d16

この記事のHello Worldを表示させるところが分かりません。何故そう表示されるのでしょうか?因みにそのところまで書いてmvn compileやmvn packageは成功してます
2019/05/31(金) 01:43:15.06ID:DmEc6oV20
>>408
補足: hello worldとどこにも書いてないのにそのように出力されるらしい理由を知りたいです
因みに私の環境ではhelloworldと出てません
410デフォルトの名無しさん (ワッチョイ b901-bUoT [126.27.70.174])
垢版 |
2019/05/31(金) 03:32:40.79ID:DmEc6oV20
springでentityクラスの最後にこのようなメソッドがありました。
どういう意味ですか?

@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.DEFAULT_STYLE);
2019/05/31(金) 08:24:32.49ID:3KxflSzbd
>>408
多分著者の勘違い
ただSpring Bootで特にView作らずに動かしてブラウザで見に行ったら画面上には出てこなかったっけ?

>>410
toStringがわからんというならjava.lang.Objectのjavadoc読め
中に書いてることがわからんというならimport文に書いてる通りcommons-langのメソッドだからそっちのjavadoc読め
2019/05/31(金) 09:11:45.92ID:3KxflSzbd
直接Java言語ではないんだけど自分も質問

最終的な配布形態がライブラリ(jarでメインメソッドを持たない、組み込まれること前提)のとき、
ログの実装ってどうするのがベターなのでしょうか
今はHikariCPのプロジェクトを参考にしてこんな感じにしていますが、正しいのかわからない

- build.gradle上はテストの時だけlog実装やブリッジを依存関係に入れる
implementation( slf4j-api )
testImplementation( logback )
testImplementation(jul-to-slf4jなどのブリッジ )

- log設定はtest-resourceにのみ入れる
src/test/resources/logback.xml

- コーディングはいつもどおりだけど、組み込まれた側に出力されないように、原則debugで出す
2019/06/02(日) 04:21:29.06ID:jVO0SlD80
エクリプスでクラス図自動生成できる人いたらバージョンいくつか教えて
414デフォルトの名無しさん (ワッチョイ 0294-LWbF [123.48.112.52])
垢版 |
2019/06/13(木) 22:16:22.39ID:t9tRfwUY0
抽象クラスに設定したアノテーションは子クラスでも有効ですか?
つまりアノテーションは継承されますか?
415デフォルトの名無しさん (ワッチョイ 0294-LWbF [123.48.112.52])
垢版 |
2019/06/13(木) 22:18:45.84ID:t9tRfwUY0
@SomeAnnotation
public abstract class Base{}

public class Child extends Base{}

このときChildはSomeAnnotationを持っていますか?
2019/06/13(木) 23:50:57.53ID:NulSwGzN0
「java annotation 継承」で検索!

通常、Java ではアノテーションを継承したり合成したりできませんが、
Spring のアノテーションはできます
2019/06/14(金) 02:33:03.12ID:gXbRy3uY0
>>410
Ruby で説明すると、"〜" 内で、#{ a } のように、オブジェクトを入れると、
そのオブジェクトを文字列化しようとして、Object.to_s が呼ばれる

その際、自分で作ったカスタムクラスでは、デフォルトでは、
<A:0x0000000002bf5c78> のように、訳の分からない文字列が表示されるので、
自クラスで、Object.to_s を上書きして、好きな文字列に変える事ができる

class A
end

a = A.new

puts "#{ a }"
#=> <A:0x0000000002bf5c78>

class A
def to_s
"インスタンスです!" # 上書きする
end
end

b = A.new

puts "#{ b }"
#=> インスタンスです!
418デフォルトの名無しさん (ワッチョイ b34e-ulgk [210.138.216.243])
垢版 |
2019/06/14(金) 02:47:10.99ID:apjsiMiU0
rubyはマイナー糞言語なので説明には適さない。
未知の物事を基地の物事で言い換えるのが説明。
rubyなんて誰も知らないので説明には適さない。
2019/06/14(金) 08:14:55.87ID:4YvVrWmf0
JavaスレでRubyで解説するタコ
420デフォルトの名無しさん (ワッチョイ 0294-LWbF [123.48.112.52])
垢版 |
2019/06/15(土) 05:11:52.42ID:6gRe3JZA0
java雑談スレってないの?
421デフォルトの名無しさん (ワッチョイ 8b3d-zOIz [218.229.147.47])
垢版 |
2019/06/15(土) 09:53:31.26ID:jGa3QHvM0
>>420
https://matsuri.5ch.net/test/read.cgi/oversea/1553515361/
2019/06/15(土) 16:38:39.22ID:N0yWBKZL0
overseaってw
2019/06/16(日) 20:10:04.64ID:sKatPFbV0
SpringのModelAndViewってhtmlのフォームから送られてきた値が同じメソッドの引数に書かれたxxxFormクラスやxxxBeanクラスのインスタンスに勝手にバインドされないの?

されるようにするにはどうすればいいの?
https://qiita.com/yakumo3390/items/4d4214fc4ded78f40517
424デフォルトの名無しさん (ワッチョイ 02b0-bbbA [123.224.100.119])
垢版 |
2019/06/18(火) 06:23:13.55ID:3nOE2mBA0
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/

142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
2019/06/18(火) 19:31:12.22ID:BOIyU+dK0
thymeleafのth:attrってどう使うの?タグがリプレイスされるのは分かるけど条件指定とかは?多言語のメカニズムはどうなってる?
426デフォルトの名無しさん (アウアウウー Sa6b-7DQ/ [106.132.132.141])
垢版 |
2019/06/19(水) 09:54:49.03ID:WYELJAwQa
何の話?
427デフォルトの名無しさん (ワッチョイ 8b3d-zOIz [218.229.147.47])
垢版 |
2019/06/19(水) 20:48:44.66ID:96uVR6tp0
Springちゃうの?
2019/06/19(水) 20:51:20.38ID:U/2T24gw0
Spring has come
2019/06/20(木) 21:08:39.15ID:BroFGJyi0
Mavenがオワコンな理由が分からん
確かにXMLはダルいけどMavenに関してはmvn repositoryでググって切った張ったするだけじゃん
GradleやBezelとやらが必要な理由は?
2019/06/22(土) 16:15:50.52ID:USNyaIVz0
Mainクラス{
main{
try{
Clac()を呼ぶ
System.exit(0)
}キャッチException ){
例外が発生したらSystem.exit(1)
}
}
private内部メソッドCalc{
別クラスRead()を呼んで文字列を受け取る

if(文字列.equals("バカ")){
System.exit(異常)
}
return 文字列
}
}
----------------------------------------------
Readクラス{
public ReadTxt{
try{
A.propertiesの一部内容("お前は"項目)を読む
項目の中身"天才"を取得

return "お前は"項目の文字列(="天才")

}キャッチ(FileNotFoundException ){
読めなかったらSystem.exit(異常)
}
}
}
2019/06/22(土) 16:21:51.00ID:USNyaIVz0
>>430続き
----------------------------------------------------
A.properties中身

お前は
天才

----------------------------------------------------
正常テスト
@Test
test00{
main()
}

mainで例外発生テスト
@Test
test01{
mainで即例外を発生させる処理 ←わからん
}
A.propertiesの中身が"アホ"だったテスト

@Test
test02{
Main.Calc()の"天才"を格納した変数を書き換える処理? ←わからん
}
2019/06/22(土) 16:28:41.86ID:USNyaIVz0
>>430>>431続き

A.propertiesが読めなかったテスト
@Test
test03{
Read.ReadTxt()の読み込みパスを一時的に書き換える処理? ←わからん
}

・一回一連のテスト流してバレッジ100%にしたい

・main側で即例外がでる処理が分かりません。

・Test01でA.txtを読んだ値を格納した変数を”天才”"→アホ"へ変更する処理が分かりません。

・・Test03で読み込み先を一時的に変更する処理が分かりません。
433デフォルトの名無しさん (ワッチョイ ff5f-JPFb [106.72.163.96 [上級国民]])
垢版 |
2019/06/23(日) 02:34:01.51ID:14HOOLCC0
テストのやり方を知らない者同士でテストをやっているのかね?
434デフォルトの名無しさん (ワッチョイ ff5f-JPFb [106.72.163.96 [上級国民]])
垢版 |
2019/06/23(日) 02:36:31.66ID:14HOOLCC0
テストだと思ってないということか?
2019/06/23(日) 03:58:19.27ID:Qs981YkgM
二次元配列をsortするのってどうやればいいの?
436デフォルトの名無しさん (ワッチョイ e602-Im5L [175.134.57.7])
垢版 |
2019/06/23(日) 04:20:32.18ID:tw+Py36V0
>>435
java.util.Arrays.sort(T[] a, Comparator<? super T> c) 使えば良いのでは?
Comparator 自分で書く事になるから1次元だろうが2次元だろが何次元だろうがソートできる。
2019/06/24(月) 08:10:50.49ID:+C8ZS5/NM
springとかの依存性の注入ごわからないんだけど
コーディングしている時にコンパイルエラーが出ない以上の意味があるの?
438デフォルトの名無しさん (ワッチョイ 2ab9-br4T [123.48.158.50])
垢版 |
2019/06/24(月) 20:09:20.96ID:218UFAwP0
継承より委譲と言われるけど、逆に継承のメリットってなんですか?
2019/06/24(月) 20:14:26.19ID:vFVmaW5L0
spring has com
440デフォルトの名無しさん (ワッチョイ 2ab9-br4T [123.48.158.50])
垢版 |
2019/06/24(月) 21:02:09.88ID:218UFAwP0
合成使えっていうけど、合成用にセットしたオブジェクトが複数あったとして、それらの間に依存関係を
作りたい場合、実はそれって多重継承みたいなものじゃないですか?
2019/06/24(月) 21:10:43.67ID:S4tOibHdM
継承は多様性のために使え
機能の流用のために(それだけを目当てに)使うなってことかと
442デフォルトの名無しさん (ワッチョイ 2ab9-br4T [123.48.158.50])
垢版 |
2019/06/24(月) 21:44:19.82ID:218UFAwP0
多様性っていうけど、そりゃ継承って何らかの仮想メソッドがあったり、
子クラスでメソッドとか状態を追加したりするんだから、
ほとんどの場合多様性じゃないの?

継承の場合
abstract class Animal{
private int age;
}
class Dog extends Animal{}
class Cat extends Animal{}

委譲の場合
class AgeHolder implements AgeHolderI{
private int age;
public int getAge(){return age;}
}
class Dog implements AgeHolderI{}
class Cat implements AgeHolderI{}

こんな感じにしていけるから、ほとんど常に継承は委譲に置き換えれるのでは?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況