プログラミング言語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質問・相談スレッド182★★
https://mevius.5ch.net/test/read.cgi/tech/1542595026/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
★★Java質問・相談スレッド183★★
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7f9f-FhGp)
2020/05/06(水) 22:12:08.99ID:q8N1X/Ij0554デフォルトの名無しさん (ワッチョイ 1b02-aWbd)
2020/11/12(木) 14:38:22.65ID:svuT5wEO0 リフレクションで全部解決するならそれでいいんだけど、解決しないときもあるから
少なくとも性能面で格段に落ちる
少なくとも性能面で格段に落ちる
555デフォルトの名無しさん (ワッチョイ 1b46-Y0tO)
2020/11/15(日) 21:24:45.76ID:wTz3BYxz0 javaとオブジェクト指向がごっちゃ?
リフレクションを多用したプログラムは基本的にバグの追跡が困難になって
システム全体の保守拡張性が失われていく
そもそもそういう事態を避けるためのオブジェクト指向なんだけどな
だからリフレクションを使う場面は
「公知され依存範囲も最小限の明示さえた範囲にとどまる場合」
に限るべきだと思う
リフレクションを多用したプログラムは基本的にバグの追跡が困難になって
システム全体の保守拡張性が失われていく
そもそもそういう事態を避けるためのオブジェクト指向なんだけどな
だからリフレクションを使う場面は
「公知され依存範囲も最小限の明示さえた範囲にとどまる場合」
に限るべきだと思う
556デフォルトの名無しさん (ワッチョイ 1b02-aWbd)
2020/11/16(月) 11:28:08.49ID:UaonMcvo0 いうて最近の言語はリフレクション相当のことが簡単にできるものばっかだし
557デフォルトの名無しさん (JP 0H93-iaQn)
2020/11/16(月) 11:33:16.32ID:vXUZo3CGH それがいいとは思わないけどな
558デフォルトの名無しさん (ワッチョイ 1b46-Y0tO)
2020/11/17(火) 18:58:02.35ID:MFEhUl1R0 オブジェクト指向で綺麗にシステム作っても
システムを拡張する時に依存性を無視して
勝手にデータベースから別ルートでデータを扱ったり
そんなことされたらもうおしまい
システムを拡張する時に依存性を無視して
勝手にデータベースから別ルートでデータを扱ったり
そんなことされたらもうおしまい
559デフォルトの名無しさん (ワッチョイ e2ad-b6az)
2020/11/23(月) 15:23:37.29ID:QcOiDeXE0 >>558
そういうことを防止するためにはそういうことができないような仕様の言語を新たに作るしかないでしょうな。
そういうことを防止するためにはそういうことができないような仕様の言語を新たに作るしかないでしょうな。
560デフォルトの名無しさん (ワッチョイ 0e02-wHXD)
2020/11/23(月) 15:37:21.97ID:orFN3nO80 アプリケーションの番人としていつまでも居座る、という手もある
ボランティアになるかもしれないけど
ボランティアになるかもしれないけど
561デフォルトの名無しさん (ワッチョイ 0e02-RToZ)
2020/11/24(火) 01:47:50.63ID:vl9hZWNY0562デフォルトの名無しさん (ワッチョイ c2ab-v2z3)
2020/12/04(金) 19:01:31.00ID:aixg0GRb0 junitの質問ってこちらで大丈夫でしょうか。
引数がinterfaceだったりabstractだったりするメソッドのテストってどうするんでしょう?
引数がinterfaceだったりabstractだったりするメソッドのテストってどうするんでしょう?
563デフォルトの名無しさん (ワッチョイ ac59-HWCG)
2020/12/05(土) 08:28:14.85ID:rfXr7q6U0 スタブとして自前で実装して引数に渡すか、Mockitoのようなライブラリを利用してモックテストする
564デフォルトの名無しさん (ワッチョイ dfab-PKMK)
2020/12/09(水) 17:38:11.52ID:3MRHajAc0 >>563
やっぱ実装しないとダメなんですね…。ありがとうございました。
やっぱ実装しないとダメなんですね…。ありがとうございました。
565デフォルトの名無しさん (ワッチョイ 8759-u7CM)
2020/12/09(水) 17:43:20.81ID:4HmF+HCx0 いやMockitoを使えば実装は要らない
知らないものを見ないふりしているといつまでも初心者のままだよ
知らないものを見ないふりしているといつまでも初心者のままだよ
566デフォルトの名無しさん (ワッチョイ bf01-4pnK)
2020/12/09(水) 18:23:23.41ID:1rAAexgP0 偉そうにw
567デフォルトの名無しさん (ワッチョイ 8759-u7CM)
2020/12/10(木) 01:15:30.07ID:Ylu2UlWn0 でも図星でしょ?
質問の回答に知らない言葉が出てきたからその部分をググりもせずにスルーした
そこが本当は必要としてた知識だったのに
質問の回答に知らない言葉が出てきたからその部分をググりもせずにスルーした
そこが本当は必要としてた知識だったのに
568デフォルトの名無しさん (ワッチョイ bf01-4pnK)
2020/12/10(木) 10:11:22.54ID:/iej8cKu0 一般化して説教かますのはただのアホだと思うw
569デフォルトの名無しさん (ワッチョイ bf01-4pnK)
2020/12/10(木) 10:12:29.29ID:/iej8cKu0 信号を無視したら信号無視だよと言ってるようなもの
チン次郎論法の亜種だな
チン次郎論法の亜種だな
570デフォルトの名無しさん (ワッチョイ bf01-4pnK)
2020/12/10(木) 10:13:39.91ID:/iej8cKu0 説教厨
571デフォルトの名無しさん (ワッチョイ bf01-4pnK)
2020/12/10(木) 10:15:17.13ID:/iej8cKu0 そんなに説教がしたいか
そんなに偉ぶりたいか
そんなに自分の立ち位置を確認したいのか
そんなに偉ぶりたいか
そんなに自分の立ち位置を確認したいのか
572デフォルトの名無しさん (ワッチョイ bf01-4pnK)
2020/12/10(木) 10:19:43.99ID:/iej8cKu0 読み直してみたけどMockito使うことを実装するって言ってるだけなんじゃない?
573デフォルトの名無しさん (ワッチョイ bf01-4pnK)
2020/12/10(木) 10:20:37.95ID:/iej8cKu0 > 565 :デフォルトの名無しさん (ワッチョイ 8759-u7CM) [↓] :2020/12/09(水) 17:43:20.81 ID:4HmF+HCx0 [PC]
> いやMockitoを使えば実装は要らない
> 知らないものを見ないふりしているといつまでも初心者のままだよ
一生許さないから
> いやMockitoを使えば実装は要らない
> 知らないものを見ないふりしているといつまでも初心者のままだよ
一生許さないから
574デフォルトの名無しさん (オッペケ Srb3-9wp+)
2020/12/22(火) 10:55:13.03ID:EExbCgorr PCをゲーム機のようにしか扱って来なかった人間ですが、3週間でサーティファイのJava能力2級を取得することは可能でしょうか?
スレッド処理やら例外やらは大まかに分かりましたが、インターフェースがビックリするくらい理解できないです
スレッド処理やら例外やらは大まかに分かりましたが、インターフェースがビックリするくらい理解できないです
575デフォルトの名無しさん (ワッチョイ 0f9c-+dzo)
2020/12/22(火) 11:08:00.09ID:fGHiXn/20 インターフェース=共通規格の仕様
って考えるといいかもね
あるインターフェースを実装しているクラスのインスタンスは共通規格に準拠しているから共通規格のメソッドを呼べる
そのクラスのインスタンスをインターフェース型変数に代入することができる
って考えるといいかもね
あるインターフェースを実装しているクラスのインスタンスは共通規格に準拠しているから共通規格のメソッドを呼べる
そのクラスのインスタンスをインターフェース型変数に代入することができる
576デフォルトの名無しさん (ワッチョイ 0f9c-+dzo)
2020/12/22(火) 11:12:00.11ID:fGHiXn/20 ゲームで例えるとこうだ
USBゲームパッド仕様=インターフェース
PS4コントローラー=USBゲームパッド仕様を実装したクラス
XBoxコントローラー=USBゲームパッド仕様を実装したクラス
どちらのコントローラーも固有の機能を持っているがPCに繋げばUSBゲームパッドとして使える(振る舞える)
USBゲームパッド仕様=インターフェース
PS4コントローラー=USBゲームパッド仕様を実装したクラス
XBoxコントローラー=USBゲームパッド仕様を実装したクラス
どちらのコントローラーも固有の機能を持っているがPCに繋げばUSBゲームパッドとして使える(振る舞える)
577デフォルトの名無しさん (オッペケ Srb3-9wp+)
2020/12/22(火) 11:23:31.03ID:EExbCgorr >>576
わざわざゲームで分かりやすく例えてくれてありがとうございます
わざわざゲームで分かりやすく例えてくれてありがとうございます
578デフォルトの名無しさん (ワッチョイ eaa5-tzJm)
2020/12/22(火) 11:24:06.79ID:AK8G7vhK0 ちげぇなぁ
こういう奴の言ってることは大抵こう
「クラスはなんとかギリギリ理解した(ような気がするけど)、その後のインタフェイスになってもう完全に分からなくなった理解不可能助けて」
こういう奴の言ってることは大抵こう
「クラスはなんとかギリギリ理解した(ような気がするけど)、その後のインタフェイスになってもう完全に分からなくなった理解不可能助けて」
579デフォルトの名無しさん (オッペケ Srb3-9wp+)
2020/12/22(火) 11:58:57.97ID:EExbCgorr >>578
確かに理解出来てないものは多々ありますが、運や勘でもとにかく資格を取得するのが大事なので上のインターフェースについて概要を軽く説明して貰った方が飲み込みやすくて助かります
確かに理解出来てないものは多々ありますが、運や勘でもとにかく資格を取得するのが大事なので上のインターフェースについて概要を軽く説明して貰った方が飲み込みやすくて助かります
580デフォルトの名無しさん (ワッチョイ eaa5-tzJm)
2020/12/22(火) 12:05:53.62ID:AK8G7vhK0 サーティファイのテキストの説明がよっぽどおかしいのか?
どうなってんだ
どういう駄文が書き連ねてあるんだ?
そもそも何見て分からんと言ってるんだ?
どうなってんだ
どういう駄文が書き連ねてあるんだ?
そもそも何見て分からんと言ってるんだ?
581デフォルトの名無しさん (ワッチョイ bb40-uMNi)
2020/12/25(金) 13:39:16.56ID:cslSq7u80 eclipseとかでhashcode, equalsを自動作成できるけど
「未作成のクラスを検索する」とか
「自動生成と異なった実装になっているクラスを検索する」
みたいなことできないの?
メンバー変数を書き換えた時に作り直し忘れるとバグになるし面倒だよね
Lombokで自動生成するという手段があるらしいけどLombok使いたくないし
「未作成のクラスを検索する」とか
「自動生成と異なった実装になっているクラスを検索する」
みたいなことできないの?
メンバー変数を書き換えた時に作り直し忘れるとバグになるし面倒だよね
Lombokで自動生成するという手段があるらしいけどLombok使いたくないし
582デフォルトの名無しさん (ワッチョイ 3f59-t/Xm)
2020/12/25(金) 18:46:16.26ID:z1tztk6g0 クラスの代わりにRecordを使えば解決
ただし正式に使えるのはJava16から
ただし正式に使えるのはJava16から
583デフォルトの名無しさん (ワッチョイ 0bab-JtRj)
2020/12/26(土) 22:32:49.92ID:5jiSe6u40 馬鹿には無理
584デフォルトの名無しさん (ワッチョイ b101-L4wC)
2020/12/28(月) 18:23:31.38ID:LMTdakKW0 Intellijでクラスの中に書いたメソッドを実行するにはそのクラスの中にmain関数を作ってメソッド呼び出す処理を書いてrunする以外にありますか?色んなクラスにmainができてしまうので、普通はどうやるのか知りたいです。
585デフォルトの名無しさん (テテンテンテン MM97-mp7J)
2020/12/28(月) 22:23:00.13ID:h8cHolFuM586デフォルトの名無しさん (ワッチョイ 7fa5-cNR3)
2021/01/08(金) 14:44:14.15ID:rqN737YQ0587デフォルトの名無しさん (ワッチョイ 5f9c-NUt6)
2021/01/08(金) 14:54:25.00ID:GG1sOSQC0588デフォルトの名無しさん (ワッチョイ ff01-wy8K)
2021/01/08(金) 15:12:47.26ID:eXVg8SYp0 自動インポートは甘え
589デフォルトの名無しさん (ワッチョイ 7fa5-cNR3)
2021/01/08(金) 15:52:27.94ID:rqN737YQ0 >>587「import kihon.sample600.SampleClass01;」と書き足してもダメでした
590デフォルトの名無しさん (アウアウカー Sa53-tYBP)
2021/01/08(金) 16:09:54.53ID:f3mpSfzUa 同一パッケージはimportいらんくない?
javac ./*でいけるんじゃね
javac ./*でいけるんじゃね
591デフォルトの名無しさん (アウアウカー Sa53-tYBP)
2021/01/08(金) 16:10:35.19ID:f3mpSfzUa >>590
ミスったjavac ./*.javaで
ミスったjavac ./*.javaで
592デフォルトの名無しさん (ワッチョイ ff01-wy8K)
2021/01/08(金) 16:18:38.36ID:eXVg8SYp0 皮肉なものだなIDEならとイキったアホがimportの仕様をしらないとわw
593デフォルトの名無しさん (ワッチョイ ffda-ZT9E)
2021/01/08(金) 16:24:59.60ID:Q1os/2WZ0 VSw
594デフォルトの名無しさん (ワッチョイ ff01-wy8K)
2021/01/08(金) 16:25:32.62ID:eXVg8SYp0 myjavaフォルダで
javac kihon/sample600/Sample601.java
としてもコンパイルできるはず
カレントフォルダはクラスパスに追加されて
kihon/sample600内にclassファイルが存在するので
javac kihon/sample600/Sample601.java
としてもコンパイルできるはず
カレントフォルダはクラスパスに追加されて
kihon/sample600内にclassファイルが存在するので
595デフォルトの名無しさん (ワッチョイ ff01-wy8K)
2021/01/08(金) 16:26:31.85ID:eXVg8SYp0 > 587+1 :デフォルトの名無しさん (ワッチョイ 5f9c-NUt6) [↓] :2021/01/08(金) 14:54:25.00 ID:GG1sOSQC0 [PC]
> >>586
> import文がない
> ふつうのIDEならSampleClass01のところでCtrl+Spaceで自動インポートされる
> VSCodeに自動インポートがなかったら窓から投げ捨てろ
こいつwwww
> >>586
> import文がない
> ふつうのIDEならSampleClass01のところでCtrl+Spaceで自動インポートされる
> VSCodeに自動インポートがなかったら窓から投げ捨てろ
こいつwwww
596デフォルトの名無しさん (ワッチョイ ffda-ZT9E)
2021/01/08(金) 16:28:08.16ID:Q1os/2WZ0 Netbeansにしなさい
597デフォルトの名無しさん (ワッチョイ 7f40-Cbw0)
2021/01/12(火) 00:52:52.68ID:SnMLaeAE0 eclipse collectionsのConcurrentHashMapと標準のはどっちが高性能なの?
JMHと言うのやってみようと思ったけどエラー出て動かなかった
JPMSのバグらしい
JMHと言うのやってみようと思ったけどエラー出て動かなかった
JPMSのバグらしい
598デフォルトの名無しさん (ワッチョイ 7f40-Cbw0)
2021/01/12(火) 02:28:37.16ID:SnMLaeAE0 JDKの方が速かった
599デフォルトの名無しさん (ワッチョイ 7ebd-Z5af)
2021/01/21(木) 13:30:43.09ID:HsCZH7Vy0 JavaAPIに修正というかアップデートして欲しいとき
日本語で質問や要望だせるコミュは有りますか?
java MIDIのINでスレッド立ち上げるの辞めて欲しいのよね
日本語で質問や要望だせるコミュは有りますか?
java MIDIのINでスレッド立ち上げるの辞めて欲しいのよね
600デフォルトの名無しさん (ワッチョイ 91da-s56y)
2021/01/21(木) 13:39:02.26ID:dym1y4TL0601デフォルトの名無しさん (ワッチョイ 91da-s56y)
2021/01/21(木) 14:52:30.70ID:dym1y4TL0602デフォルトの名無しさん (ワッチョイ 82bd-Z5af)
2021/01/21(木) 15:13:31.95ID:f8qhc4HR0 ありがと。
日本語フォーラムに近いのは上かしら。
メンバーシップってほどなのかなーって気もしますけれど。
考えてみる。
日本語フォーラムに近いのは上かしら。
メンバーシップってほどなのかなーって気もしますけれど。
考えてみる。
603デフォルトの名無しさん (ワッチョイ cd9c-+QhG)
2021/01/21(木) 15:17:49.42ID:upjC6TmF0604デフォルトの名無しさん (ワッチョイ 41bd-Z5af)
2021/01/21(木) 20:13:53.97ID:jbt85nZO0 色々やってみたら、MSOSのアクティブじゃないアプリの優先度の上限についてる問題だったわ
605デフォルトの名無しさん (ワッチョイ 8701-FvK0)
2021/01/22(金) 19:32:48.29ID:Ji2YQvfh0 DBと連携する簡単なwebアプリを作っています。
eclipseでは一通り動作を確認しました。
それとは別のlinuxマシンがあり、その上でtomcatの所定の位置にwarファイル、
jdbcドライバを配置して、ブラウザからアクセスすると例外が出ます。
h2 dbを使っていますが組み込みモード、サーバーモードのどちらでも起こります。
ログを見る限り書き込み権限とかパーミッションの話のようですが、
具体的に何に誰の権限を与えるのかよくわかりません。
今のdbファイルの権限(とりあえずグループに書き込み権限を追加)
-rw-rw-r-- 1 pi pi 32768 1月 17 23:04 mydb.mv.db
-rw-rw-r-- 1 pi pi 2193 1月 16 14:34 mydb.trace.db
その後wabアプリにアクセスした際のログ
tomcat9/logs/catarina.out
[2021-01-20 23:14:12] [info] org.h2.message.DbException: ログファイル
エラー: "/mydb.trace.db"
[2021-01-20 23:14:12] [info] Log file error: "/mydb.trace.db", cause:
"java.io.FileNotFoundException: /mydb.trace.db (読み込み専用ファイルシ
ステムです)" [90034-200]
[2021-01-20 23:14:12] [info] org.h2.message.DbException: ログファイル
エラー: "/mydb.trace.db"
[2021-01-20 23:14:12] [info] Log file error: "/mydb.trace.db", cause:
"java.io.FileNotFoundException: /mydb.trace.db (読み込み専用ファイルシ
ステムです)" [90034-200]
[2021-01-20 23:14:12] [info] #011at org.h2.message.DbException.get(DbE
xception.java:194)
[2021-01-20 23:14:12] [info] #011at org.h2.message.TraceSystem.logWrit
ingError(TraceSystem.java:294)
[2021-01-20 23:14:12] [info] #011at org.h2.message.TraceSystem.openWri
ter(TraceSystem.java:315)
eclipseでは一通り動作を確認しました。
それとは別のlinuxマシンがあり、その上でtomcatの所定の位置にwarファイル、
jdbcドライバを配置して、ブラウザからアクセスすると例外が出ます。
h2 dbを使っていますが組み込みモード、サーバーモードのどちらでも起こります。
ログを見る限り書き込み権限とかパーミッションの話のようですが、
具体的に何に誰の権限を与えるのかよくわかりません。
今のdbファイルの権限(とりあえずグループに書き込み権限を追加)
-rw-rw-r-- 1 pi pi 32768 1月 17 23:04 mydb.mv.db
-rw-rw-r-- 1 pi pi 2193 1月 16 14:34 mydb.trace.db
その後wabアプリにアクセスした際のログ
tomcat9/logs/catarina.out
[2021-01-20 23:14:12] [info] org.h2.message.DbException: ログファイル
エラー: "/mydb.trace.db"
[2021-01-20 23:14:12] [info] Log file error: "/mydb.trace.db", cause:
"java.io.FileNotFoundException: /mydb.trace.db (読み込み専用ファイルシ
ステムです)" [90034-200]
[2021-01-20 23:14:12] [info] org.h2.message.DbException: ログファイル
エラー: "/mydb.trace.db"
[2021-01-20 23:14:12] [info] Log file error: "/mydb.trace.db", cause:
"java.io.FileNotFoundException: /mydb.trace.db (読み込み専用ファイルシ
ステムです)" [90034-200]
[2021-01-20 23:14:12] [info] #011at org.h2.message.DbException.get(DbE
xception.java:194)
[2021-01-20 23:14:12] [info] #011at org.h2.message.TraceSystem.logWrit
ingError(TraceSystem.java:294)
[2021-01-20 23:14:12] [info] #011at org.h2.message.TraceSystem.openWri
ter(TraceSystem.java:315)
606デフォルトの名無しさん (ワッチョイ bf01-uxcu)
2021/01/22(金) 19:46:37.35ID:WWOGJuaM0607デフォルトの名無しさん (ブーイモ MMcb-F+C/)
2021/01/22(金) 19:49:45.57ID:3IahkNr8M dbのパスがルートになってるけど、本当は/の前に何かあったんじゃないの?
608デフォルトの名無しさん (ワッチョイ 8701-FvK0)
2021/01/22(金) 20:31:56.26ID:Ji2YQvfh0609デフォルトの名無しさん (ワッチョイ 8701-FvK0)
2021/01/22(金) 20:57:53.49ID:Ji2YQvfh0 >>607
javaの方では一応
jdbc:h2:tcp://localhost/~/mydb
と指定してますが、ログの方はルートディレクトリに書こうとしてるみたいなことを言ってるんでしょうか。
でもホームディレクトリにファイルが出来てるんですよね…
調べてみるとこちらの質問も同じようにログファイルエラーが出ていますが、
これはurl指定が間違っていたからのようです。
https://stackoverflow.com/questions/64756454/why-does-spring-boot-with-embedded-h2-throw-a-org-h2-message-dbexception-error
試しに一回絶対パスで指定してみようかと思います。
javaの方では一応
jdbc:h2:tcp://localhost/~/mydb
と指定してますが、ログの方はルートディレクトリに書こうとしてるみたいなことを言ってるんでしょうか。
でもホームディレクトリにファイルが出来てるんですよね…
調べてみるとこちらの質問も同じようにログファイルエラーが出ていますが、
これはurl指定が間違っていたからのようです。
https://stackoverflow.com/questions/64756454/why-does-spring-boot-with-embedded-h2-throw-a-org-h2-message-dbexception-error
試しに一回絶対パスで指定してみようかと思います。
610デフォルトの名無しさん (ワッチョイ 077f-F+C/)
2021/01/22(金) 22:10:41.90ID:mLA72Gs/0 とりあえずotherにもw権限与えてみて様子を見てみるとか
611605 (ワッチョイ 8701-FvK0)
2021/01/23(土) 18:19:02.53ID:DvIRe0+n0612デフォルトの名無しさん (ササクッテロル Spbd-TMwD)
2021/02/01(月) 11:43:49.07ID:MkfMndgDp 今時はJava+springでバッチ作るとしたらどんなアーキテクチャが主流なんかね。
613デフォルトの名無しさん (ワッチョイ b501-bbbf)
2021/02/02(火) 15:25:59.09ID:uGvN1c8B0 Collections.sort(numbers, (a, b) -> {
return a - b;
});
これが昇順にソートされるのは何でですか?
sortの2つ目の引数にcompareを実装するラムダ式を入れて、aとbの比較をして、
結果の大小で戻り値が3種類に分かれるのはわかるんですが、その結果をどう使っているのかと、
numbersが1,2,3,4,5のときと、3,1,2,4,5のときでa,bに代入される順番やループ回数が違うのがわかりません。
return a - b;
});
これが昇順にソートされるのは何でですか?
sortの2つ目の引数にcompareを実装するラムダ式を入れて、aとbの比較をして、
結果の大小で戻り値が3種類に分かれるのはわかるんですが、その結果をどう使っているのかと、
numbersが1,2,3,4,5のときと、3,1,2,4,5のときでa,bに代入される順番やループ回数が違うのがわかりません。
614デフォルトの名無しさん (ワッチョイ 799c-Jvp0)
2021/02/02(火) 16:17:26.48ID:fQp+SbTP0 Collections.sortの実装はマージソートなんだけどそれ自体は気にしなくてもいい
他のソートアルゴリズムだとしてもかまわない
どのようなアルゴリズムであっても2つの要素の大小を比較しなければならない場面があるじゃない?
そのときに第2引数で指定したラムダ式が呼ばれるんだ
他のソートアルゴリズムだとしてもかまわない
どのようなアルゴリズムであっても2つの要素の大小を比較しなければならない場面があるじゃない?
そのときに第2引数で指定したラムダ式が呼ばれるんだ
615デフォルトの名無しさん (ワッチョイ 2a01-I+PI)
2021/02/02(火) 16:50:00.48ID:mk8gJgM80 >>613
aとbを比較して
aのほうがソート順で前になるべきなら負の整数
bのほうがソート順で前になるべきなら正の整数
同じ順序の場合は0を返す
というのが比較関数(Comparator)の定義
比較するのが数値の場合、a - bとすればaが数値として小さければ負の数となり
ソート順でもaのほうが前にあるべきという結果となるので昇順でソートされる
aとbがどういう順序で何回渡されるかや、それをどう使うかはsortの実装次第
aとbを比較して
aのほうがソート順で前になるべきなら負の整数
bのほうがソート順で前になるべきなら正の整数
同じ順序の場合は0を返す
というのが比較関数(Comparator)の定義
比較するのが数値の場合、a - bとすればaが数値として小さければ負の数となり
ソート順でもaのほうが前にあるべきという結果となるので昇順でソートされる
aとbがどういう順序で何回渡されるかや、それをどう使うかはsortの実装次第
616デフォルトの名無しさん (スフッ Sd0a-L/wP)
2021/02/02(火) 17:06:32.58ID:3cbYHkwpd そもそも中身がブラックボックスの方が余計なこと考えなくて済むから良いのに
理屈うんたら言うなら自分で調べろよと思う
理屈うんたら言うなら自分で調べろよと思う
617デフォルトの名無しさん (ワッチョイ b501-bbbf)
2021/02/02(火) 17:16:02.59ID:uGvN1c8B0 ああ〜中でマージソートってのが行われてて、そこで使わせたい比較条件をラムダで渡してるだけで、何度渡されるか、どう使われるかはマージソートの実装次第なんですね。分かりました、ありがとうございます。
618デフォルトの名無しさん (ワッチョイ 5efc-yYpS)
2021/02/02(火) 19:22:55.20ID:9XQkw1u50 javadoc読みな。仕様上は安定ソートとしか決まってない。
あと、merge sortなんてとっくに使ってないから。
あと、merge sortなんてとっくに使ってないから。
619デフォルトの名無しさん (ブーイモ MM81-con+)
2021/02/02(火) 20:09:44.23ID:e6NHHBUlM プリミティブ型でない場合は今でもマージソート(と挿入ソート)でしょ
620デフォルトの名無しさん (ブーイモ MM81-Jvp0)
2021/02/02(火) 20:18:24.67ID:KuFg8ZUKM マージソートが論点ではないことさえ理解できないアスペは放っておいたほうがいいよ
621デフォルトの名無しさん (ワッチョイ 5efc-yYpS)
2021/02/03(水) 09:03:50.89ID:n2IYOEt10622デフォルトの名無しさん (ワッチョイ 9e01-5KyH)
2021/02/03(水) 09:52:05.10ID:xX1mwfrr0623デフォルトの名無しさん (ワッチョイ 9e01-5KyH)
2021/02/03(水) 09:56:16.50ID:xX1mwfrr0 Arrays.sortで使われてるTimsortも
Arrays.parallelSortで使われてるCilksortもマージソートの亜種じゃん
Arrays.parallelSortで使われてるCilksortもマージソートの亜種じゃん
624デフォルトの名無しさん (ワッチョイ de89-BbU2)
2021/02/03(水) 11:06:25.20ID:aiIl5cQz0 マジか
625デフォルトの名無しさん (ワッチョイ f159-pzo4)
2021/02/03(水) 11:19:21.23ID:wsPwPdcB0 皆さんそーとーお詳しいようで
626デフォルトの名無しさん (ワッチョイ 9e02-merL)
2021/02/04(木) 15:39:54.92ID:4mrWh63N0 なんで Java も JavaScript も String に UTF-16 使うん?
UTF-8 がメジャーだけど、
やっぱりバイト長ころころ変わるのは使いにくいのかな
String#length の現在の仕様でもサロゲートペアの扱いとか使い勝手悪いけど、
そのまま UTF-8 で実装したらさらにカオスか
文字数取得だけでも面倒なアルゴリズムになりそうね
UTF-8 がメジャーだけど、
やっぱりバイト長ころころ変わるのは使いにくいのかな
String#length の現在の仕様でもサロゲートペアの扱いとか使い勝手悪いけど、
そのまま UTF-8 で実装したらさらにカオスか
文字数取得だけでも面倒なアルゴリズムになりそうね
627デフォルトの名無しさん (ワッチョイ 9fad-JWMU)
2021/02/07(日) 18:10:03.45ID:wc7Pe9WT0 質問書きつつ自分で答え書いちゃうって何?
個人的な感想をみんなに公開してみたかったということ?
個人的な感想をみんなに公開してみたかったということ?
628デフォルトの名無しさん (ワッチョイ 577f-Wgeg)
2021/02/07(日) 18:32:32.74ID:n+epGkV90 単に歴史的経緯でしょ。
昔はunicodeといえばUTF-16しかなかった。
昔はunicodeといえばUTF-16しかなかった。
629デフォルトの名無しさん (ワッチョイ bf02-blKv)
2021/02/07(日) 21:26:33.15ID:wvgli5uH0 >>627
煽るような書き込みやめなよ
煽るような書き込みやめなよ
630デフォルトの名無しさん (ワッチョイ bf89-FV/V)
2021/02/07(日) 21:40:41.84ID:WCHi594P0 馬鹿乙
631デフォルトの名無しさん (ワッチョイ f759-AYnR)
2021/02/08(月) 04:26:58.96ID:hPvPiWOZ0 Unicode
その設計にあたり世界中の名だたる企業から優秀な技術者が集まった
当時、彼らは16ビットで世界中のあらゆる文字が表せると信じていた
固定長、それがUTF-16の強みだった
その頃生まれたプログラミング言語も皆そこに乗っかった
だが、それは幻想だった
予想を遥かに上回る文字種がそこにはあった
設計チームは悩んだ
サロゲートペア、それは苦肉の策だった
UTF-16は優位性を失い、要らん子となった
時代は移ろい、今若者は訊ねた、なんでUTF-16使うん?と
歴史的経緯じゃね?俺もそう思った
その設計にあたり世界中の名だたる企業から優秀な技術者が集まった
当時、彼らは16ビットで世界中のあらゆる文字が表せると信じていた
固定長、それがUTF-16の強みだった
その頃生まれたプログラミング言語も皆そこに乗っかった
だが、それは幻想だった
予想を遥かに上回る文字種がそこにはあった
設計チームは悩んだ
サロゲートペア、それは苦肉の策だった
UTF-16は優位性を失い、要らん子となった
時代は移ろい、今若者は訊ねた、なんでUTF-16使うん?と
歴史的経緯じゃね?俺もそう思った
632デフォルトの名無しさん (ワッチョイ 9fd7-WNvl)
2021/02/08(月) 07:57:34.57ID:Ya4Gk1nt0 英語版作っておけば、全ヶ国語動いちゃうからでは
633デフォルトの名無しさん (ワッチョイ 9f61-XJ0Q)
2021/02/08(月) 08:24:35.07ID:2cPyZIvO0634デフォルトの名無しさん (ワッチョイ bf02-blKv)
2021/02/08(月) 10:32:16.29ID:kPAwZcKm0 1988 Unicode の draft proposal
1989 HTML/HTTP の発明
1991 Unicode Standard (16bit でできまぁす!)
この時代感
1989 HTML/HTTP の発明
1991 Unicode Standard (16bit でできまぁす!)
この時代感
635デフォルトの名無しさん (アウアウウー Sa9b-WNvl)
2021/02/08(月) 11:14:32.71ID:ViucDqHka ISO2022JPって知ってる?
一時スタンダードだったんだよ
一時スタンダードだったんだよ
636デフォルトの名無しさん (ブーイモ MM3b-Wgeg)
2021/02/08(月) 11:52:29.78ID:lEVXQAfVM637デフォルトの名無しさん (ワッチョイ bf01-FN7n)
2021/02/08(月) 11:52:38.88ID:+m2shaAv0 内部でコードポイントを使うわけにはいかんのかね
638デフォルトの名無しさん (ブーイモ MM3b-Wgeg)
2021/02/08(月) 12:12:35.83ID:lEVXQAfVM それってUTF16使うのとほぼ変わらんのでは
639デフォルトの名無しさん (アウアウウー Sa9b-WNvl)
2021/02/08(月) 12:53:11.47ID:ViucDqHka640デフォルトの名無しさん (ブーイモ MM3b-Wgeg)
2021/02/08(月) 13:08:29.82ID:lEVXQAfVM それは失礼。理解した
641デフォルトの名無しさん (ワッチョイ bf02-blKv)
2021/02/08(月) 17:23:16.20ID:kPAwZcKm0642デフォルトの名無しさん (ワッチョイ de02-pCKf)
2021/02/12(金) 16:40:01.92ID:FGs6vWmq0643デフォルトの名無しさん (ワッチョイ de01-pAn8)
2021/02/12(金) 16:46:19.35ID:yHZydEd80 >>642
これは当たり前だと思った
これは当たり前だと思った
644デフォルトの名無しさん (ワッチョイ eb59-9iXy)
2021/02/12(金) 17:30:52.54ID:JXvYdGCL0 この板でも1台目の掃除機として誰かに聞いてほしかったような恨みのこもった持論が出てきたり、変な人が宗教的な押し売りを始めることも多いね
大学教授は「動きません!助けてください!><」みたいな訴えにも毎年答えないといけないから大変だ
大学教授は「動きません!助けてください!><」みたいな訴えにも毎年答えないといけないから大変だ
645デフォルトの名無しさん (ワッチョイ 639c-ju/P)
2021/02/12(金) 19:03:11.98ID:W2ggDWfj0 掃除機なら適当に1台買えば自然と不満点が出てくるから2台目でより良いものを買うための質問ができるというのは分かる
でも学習はどうかなあ?
1台目を買う=自分自身がその分野の知識をある程度 身に付けている
だから、そもそも初心者にはそれが難しいんだよ
2台目の掃除機を買うつもりで質問しろと言われても困る
でも学習はどうかなあ?
1台目を買う=自分自身がその分野の知識をある程度 身に付けている
だから、そもそも初心者にはそれが難しいんだよ
2台目の掃除機を買うつもりで質問しろと言われても困る
646デフォルトの名無しさん (オッペケ Src7-9iXy)
2021/02/13(土) 02:21:23.87ID:okYFLiJ3r そこは「つもり」なんだからええやん
100点満点は求められてない心掛けの話
よほどのアホでもない限り何かしらの試行錯誤や理想と現実とのズレを経てから人にヘルプを求めてる訳で、どう困ったかのギャップを具体的に表現しないと初歩的な質問すら伝わらない
字句通りに解釈して例示の意図を汲み取れず困惑するのはすまんが少々アスペっぽく感じる
100点満点は求められてない心掛けの話
よほどのアホでもない限り何かしらの試行錯誤や理想と現実とのズレを経てから人にヘルプを求めてる訳で、どう困ったかのギャップを具体的に表現しないと初歩的な質問すら伝わらない
字句通りに解釈して例示の意図を汲み取れず困惑するのはすまんが少々アスペっぽく感じる
647デフォルトの名無しさん (ワッチョイ 639c-ju/P)
2021/02/13(土) 06:36:53.08ID:Tqg5uAgX0 そうかなあ?
質問は二台目の掃除機を買いに行くつもりでしろ=中級者くらいの質問をしろ
だと感じるけどなあ
これに納得や共感できるのは質問を受ける側であって本当の初心者には??だと思うよ
質問は二台目の掃除機を買いに行くつもりでしろ=中級者くらいの質問をしろ
だと感じるけどなあ
これに納得や共感できるのは質問を受ける側であって本当の初心者には??だと思うよ
648デフォルトの名無しさん (ワッチョイ de02-pCKf)
2021/02/13(土) 07:35:19.00ID:tx75zwgF0 こういう比喩の認識が食い違ってるとき、
比喩の話のまま進めても本当に時間の無駄よ
比喩の話のまま進めても本当に時間の無駄よ
649デフォルトの名無しさん (ワッチョイ eb59-9iXy)
2021/02/13(土) 08:24:40.55ID:V3XIkrP30 いやいやリンク先の本文には比喩だけでなく具体的に掘り下げた説明的な二人の会話があるだろ
引用しようか?
もう一度よく読んでも違和感が強く教授の言いたいことを汲み取れない、あるいは生徒側が誤った解釈をしているに違いないと思うならアスペ傾向あると思う
引用しようか?
もう一度よく読んでも違和感が強く教授の言いたいことを汲み取れない、あるいは生徒側が誤った解釈をしているに違いないと思うならアスペ傾向あると思う
650デフォルトの名無しさん (ワッチョイ eb59-9iXy)
2021/02/13(土) 08:25:29.25ID:V3XIkrP30 >>648 はリンク先をまともに読んでないので店員が売りたい掃除機が出てきちゃった例なんじゃない?
651デフォルトの名無しさん (ワッチョイ 639c-ju/P)
2021/02/13(土) 09:46:41.46ID:Tqg5uAgX0 具体的に掘り下げた説明にはなってないと思うけどなあ
教授が言いたかったのは「何が分からないのかの言語化を試みて質問すること」でしょ
それはいいんだよ
なんでそれが「二台目の掃除機を買いに行くつもりで質問しろ」になるのか
この先生、比喩とか要約とか下手過ぎるでしょ
こんな意図を伝えることが下手くそな先生が質問の仕方をあーだこーだ言ってることへの違和感はんぱない
教授が言いたかったのは「何が分からないのかの言語化を試みて質問すること」でしょ
それはいいんだよ
なんでそれが「二台目の掃除機を買いに行くつもりで質問しろ」になるのか
この先生、比喩とか要約とか下手過ぎるでしょ
こんな意図を伝えることが下手くそな先生が質問の仕方をあーだこーだ言ってることへの違和感はんぱない
652デフォルトの名無しさん (ワッチョイ 5eda-dIYK)
2021/02/13(土) 11:59:20.27ID:qGBuEd8d0 スクールと研究所・職場の違いもある。
スクールなら答えてやれよと思う。
職場とかの立場では、質問者もそれなりに配慮が必要
スクールなら答えてやれよと思う。
職場とかの立場では、質問者もそれなりに配慮が必要
653デフォルトの名無しさん (ワッチョイ eb59-9iXy)
2021/02/13(土) 17:36:56.37ID:V3XIkrP30 >>651
卑近な例で質問を受ける側の感覚を伝えたことで、現にこの学生には面白い話として伝わった上に強い印象を与えて習慣化できたわけだ
相手が融通の利かない子ならこの教授も比喩は使わず直接的な答えだけを言うかもしれないな
下手くそなどと言ってるけど、お前さんは恩師や先輩として誰かに尊敬されていたり、教え上手、喩え上手とされているの?
卑近な例で質問を受ける側の感覚を伝えたことで、現にこの学生には面白い話として伝わった上に強い印象を与えて習慣化できたわけだ
相手が融通の利かない子ならこの教授も比喩は使わず直接的な答えだけを言うかもしれないな
下手くそなどと言ってるけど、お前さんは恩師や先輩として誰かに尊敬されていたり、教え上手、喩え上手とされているの?
■ このスレッドは過去ログ倉庫に格納されています
