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

■ このスレッドは過去ログ倉庫に格納されています
2020/05/06(水) 22:12:08.99ID:q8N1X/Ij0
プログラミング言語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
2021/02/08(月) 12:12:35.83ID:lEVXQAfVM
それってUTF16使うのとほぼ変わらんのでは
639デフォルトの名無しさん (アウアウウー Sa9b-WNvl)
垢版 |
2021/02/08(月) 12:53:11.47ID:ViucDqHka
>>636
リトルエンディアン
ビッグエンディアン
unix jis
dos sjis
入り乱れていた時期があって
その頃の文章の企画のスタンダードって意味で
使われるスタンダードではないけどな
2021/02/08(月) 13:08:29.82ID:lEVXQAfVM
それは失礼。理解した
2021/02/08(月) 17:23:16.20ID:kPAwZcKm0
>>638
ユニコードコードポイントの数値そのままの符号化方式は UTF-32 やで
UTF-16 にはサロゲートペアがある
”ほぼ”って言ってるだろとか怒らんといてな
2021/02/12(金) 16:40:01.92ID:FGs6vWmq0
https://blog.tinect.jp/?p=68951

これ面白いね
「質問は、二台目の掃除機を買いにいくつもりでしろ」
643デフォルトの名無しさん (ワッチョイ de01-pAn8)
垢版 |
2021/02/12(金) 16:46:19.35ID:yHZydEd80
>>642
これは当たり前だと思った
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台目の掃除機を買うつもりで質問しろと言われても困る
2021/02/13(土) 02:21:23.87ID:okYFLiJ3r
そこは「つもり」なんだからええやん
100点満点は求められてない心掛けの話
よほどのアホでもない限り何かしらの試行錯誤や理想と現実とのズレを経てから人にヘルプを求めてる訳で、どう困ったかのギャップを具体的に表現しないと初歩的な質問すら伝わらない
字句通りに解釈して例示の意図を汲み取れず困惑するのはすまんが少々アスペっぽく感じる
647デフォルトの名無しさん (ワッチョイ 639c-ju/P)
垢版 |
2021/02/13(土) 06:36:53.08ID:Tqg5uAgX0
そうかなあ?
質問は二台目の掃除機を買いに行くつもりでしろ=中級者くらいの質問をしろ
だと感じるけどなあ
これに納得や共感できるのは質問を受ける側であって本当の初心者には??だと思うよ
2021/02/13(土) 07:35:19.00ID:tx75zwgF0
こういう比喩の認識が食い違ってるとき、
比喩の話のまま進めても本当に時間の無駄よ
2021/02/13(土) 08:24:40.55ID:V3XIkrP30
いやいやリンク先の本文には比喩だけでなく具体的に掘り下げた説明的な二人の会話があるだろ
引用しようか?
もう一度よく読んでも違和感が強く教授の言いたいことを汲み取れない、あるいは生徒側が誤った解釈をしているに違いないと思うならアスペ傾向あると思う
2021/02/13(土) 08:25:29.25ID:V3XIkrP30
>>648 はリンク先をまともに読んでないので店員が売りたい掃除機が出てきちゃった例なんじゃない?
651デフォルトの名無しさん (ワッチョイ 639c-ju/P)
垢版 |
2021/02/13(土) 09:46:41.46ID:Tqg5uAgX0
具体的に掘り下げた説明にはなってないと思うけどなあ
教授が言いたかったのは「何が分からないのかの言語化を試みて質問すること」でしょ
それはいいんだよ

なんでそれが「二台目の掃除機を買いに行くつもりで質問しろ」になるのか
この先生、比喩とか要約とか下手過ぎるでしょ
こんな意図を伝えることが下手くそな先生が質問の仕方をあーだこーだ言ってることへの違和感はんぱない
2021/02/13(土) 11:59:20.27ID:qGBuEd8d0
スクールと研究所・職場の違いもある。
スクールなら答えてやれよと思う。
職場とかの立場では、質問者もそれなりに配慮が必要
2021/02/13(土) 17:36:56.37ID:V3XIkrP30
>>651
卑近な例で質問を受ける側の感覚を伝えたことで、現にこの学生には面白い話として伝わった上に強い印象を与えて習慣化できたわけだ
相手が融通の利かない子ならこの教授も比喩は使わず直接的な答えだけを言うかもしれないな
下手くそなどと言ってるけど、お前さんは恩師や先輩として誰かに尊敬されていたり、教え上手、喩え上手とされているの?
2021/02/13(土) 19:27:16.79ID:S1E35L6h0
イタチ
2021/02/14(日) 10:54:14.14ID:ouLbdUdH0
あなたが良き質問者となれば人からより上手に情報を引き出し学ぶようになれますよというチャンスの話
上から目線の義務や押し付けとして捉えてると損すると思う
親切なスクールもタダじゃないからね

ゲームでいうなら良スキルの獲得イベント
プライドが高すぎたりするとイベントに失敗する
もちろん人に聞かず独学のみで達人になれるならそれはそれで良いスキル
ただ偏屈属性は付きやすいと思う
656デフォルトの名無しさん (ワッチョイ 639c-ju/P)
垢版 |
2021/02/14(日) 11:01:05.68ID:KIOtR6xP0
そうだね
良い質問も大事、良いアドバイスも大事
二台目の掃除機はあまり良いアドバイスではなかったというだけの話
2021/02/14(日) 23:29:58.09ID:ZxZY62hx0
なんでお前らって喧嘩腰でしか議論できないの
2021/02/15(月) 16:03:40.46ID:HZQflKEb0
考えて質問しろと言ってるだけだろw
2021/02/15(月) 16:05:17.37ID:HZQflKEb0
理系はこういうのを思い出すが
ttps://www.ranvis.com/articles/smart-questions.ja.html
660デフォルトの名無しさん (ワッチョイ 639c-ju/P)
垢版 |
2021/02/15(月) 16:12:55.53ID:ExOArVyb0
こういう質問FAQはとてもいいんだよ
雑魚先生が掃除機とか変なたとえをしちゃったのがすべての元凶
661デフォルトの名無しさん (ワッチョイ f2bb-pCKf)
垢版 |
2021/02/16(火) 22:57:42.40ID:klj0xL3w0
正規表現で一部一致の書き方を教えていただきたいです。
ここで言う一部一致の例を挙げます。
焼肉定食という文字列があったとして
三文字以上一致した場合マッチさせるという形を取りたいのです
焼鯖定食でも一致、焼魚定食でも一致、鯖定食でも一致という形を取りたいです。
2021/02/16(火) 23:48:27.08ID:7lvyarZ/0
そういう記法はないと思う
・Javaで普通にカウントするか
・肉定食|焼.定食|焼肉.食|焼肉定
みたいな正規表現パターンをJavaで生成するか
・(?:(焼)|.)(?:(肉)|.)(?:(定)|.)(?:(食)|.)で繰り返し検索して、グループが3件以上になる部分を探す
焼定食を許すのか、焼サバ定食を許すのかによってアレンジが要る
あと鯖定食は三文字一致してないよな
2021/02/16(火) 23:57:30.49ID:I98rHtI/H
>>661
正規表現の範囲ではあるパターンが「何個」とか数えられないので無理な気がします‥‥
664デフォルトの名無しさん (ワッチョイ de01-pAn8)
垢版 |
2021/02/17(水) 00:01:29.94ID:ELK1LugG0
>>663
焼肉定食から3文字の順列を作って|でつなげればいんじゃね
2021/02/17(水) 00:54:30.83ID:3Rkqt+9c0
>>661
fuzzyマッチを実装してるライブラリなら簡単にできるよ
レーベンシュタイン距離で条件を指定できるようなやつ

agrepなら
$ agrep -1 焼肉定食 input.txt
2021/02/17(水) 06:37:02.59ID:5GEonHPB0
昨日OGビーフを買ってきたので焼肉定食にした。うまかった
2021/02/23(火) 20:29:28.66ID:XBzTqCMZ0
昔個人用で作ってた代物をリポジトリにあげたいんだけど、

lombok + Groovy + ( Maven もしくは Gradle )

この組み合わせのビルドが上手く行かない
eclipse 上で maven かまさずにコンパイルされたものでは動いてたんだけど

Groovy も lombok も precompile 処理入るからだろうけど
いろいろ見てみてもあんまり
2021/02/24(水) 13:45:40.57ID:0opdFmE+0
そうだね
2021/02/24(水) 16:20:20.46ID:U5tdQeil0
>>668
返事ありがとう!
そうだよね!
2021/03/06(土) 15:04:11.94ID:sQjCgU3fa
Mavenのプロジェクトに既存のソースをインポートした時に、ビルドできずに入力補完も働かないのですが、どうしたら良いでしょうか?
2021/03/06(土) 15:47:32.93ID:oEmAT3IB0
>>670
https://www.youtube.com/watch?v=WNFr6iUp7No

マルチポストとは
https://dic.nicovideo.jp/a/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%9D%E3%82%B9%E3%83%88
2021/03/06(土) 16:15:07.65ID:sQjCgU3fa
>>671
参考になりました
673デフォルトの名無しさん (ワッチョイ dfba-0RAh)
垢版 |
2021/03/06(土) 21:06:38.37ID:eOAQdmPf0
リングバッファについて、最後に入力されたN個を順に出力するいい方向はあるでしょうか?

ttps://pastebin.com/sy5W5wKV

例えば、上記の入力で、最後に入力された3個を順に出力する結果
6、7、8
を出したいのですが。
2021/03/06(土) 21:34:12.25ID:t7qlr3aD0
E[(tail + capacity) % capacity], E[(tail - 1 + capacity) % capacity], E[(tail - 2 + capacity) % capacity]
をプリントすればできると思うけど、
headは何のためにあるの?length - 1とcapacityを比較する意味は?volatileの意図は?
675デフォルトの名無しさん (ワッチョイ ef01-/F4b)
垢版 |
2021/03/07(日) 01:18:58.40ID:WtkfuJ8m0
>>673
こんな感じ
https://paiza.io/projects/BHNxggWvKSrWmwIciTRhCA
676デフォルトの名無しさん (ワッチョイ dfba-0RAh)
垢版 |
2021/03/07(日) 02:25:57.10ID:dNhuek4B0
674
確かに、headが全く機能していませんでした。

675
ありがとうございます。
var等まだ知らないことが多いですが、
勉強しながら書かれていることを理解してみようと思います。
677デフォルトの名無しさん (ワッチョイ 0fbb-X4tf)
垢版 |
2021/03/11(木) 02:12:07.38ID:91PoZcXF0
あの、
Jqueryのinputmaskを使って桁数や数字限定等の入力制限を行ったんですが、
上司にそれだと登録時にサーバーに同様の入力チェックを設けないと入力制限を無効化して送れるからだめだと言われました
実際にどうやって無効化するのかものすごく興味がわいたので
chromeでいろいろやってみたけど結局POST時にも入力制限かかっているっぽかったから問題ないように感じたのですが
どうやれば無効化してサーバー側に送れるんでしょうか?
2021/03/11(木) 08:01:28.90ID:rW8DL/kTa
>>677
HTTPリクエストを改ざんするツールを使ってリクエストパラメータを直接書き換えるだけ
679デフォルトの名無しさん (ワッチョイ 3b9c-mZtP)
垢版 |
2021/03/11(木) 08:34:54.31ID:WbnbUiBg0
>>677
本当に上司はそう言ったの?
「サーバーでチェックしなきゃいけなくなるからダメ」じゃなくて
「サーバーでもチェックしなきゃダメだよ」って言ったんじゃない?

いくらクライアント側でチェックしてもサーバー側でのチェックが不要になることはないと思うけど
680デフォルトの名無しさん (ワッチョイ ab01-kkZq)
垢版 |
2021/03/11(木) 11:01:13.27ID:fdwFiuL80
KENTAのサロンで上司を学ばせるべき。
2021/03/11(木) 11:14:32.59ID:QqnPaqCW0
>>677
proxyというソフトを使う
2021/03/11(木) 12:16:17.54ID:+SW+GpdsM
Webの画面を通さずHTTPリクエストを送ればいいだけ

Chromeの開発ツールならネットワークタブでCopy as fetchしたのをコンソールで編集してから送信するか
Copy as cURLしてコマンドラインからcURLで送信する

Firefoxの開発ツールにはGUIでリクエストを編集して送信する機能が付いてる
ブラウザ以外ならcURLやPostmanが定番
2021/03/11(木) 12:35:14.10ID:EP88fPM90
ドラクエでは、0.5% のデータがおかしいので、
ネットから来るデータを、絶対に信用してはならない!

ネットの伝送エラー率が、0.5%で、それをエラーにしないルータがある。
チェックサムを再計算して、正しいデータとして、次へ送ってしまう

そもそも、ルータの規格を決めていないから、どうしようもない

だから、クライアント側で入力チェックして、
サーバー側でも、チェックするのが正しい!
2021/03/11(木) 13:02:15.93ID:OPISeofKM
rubyガイジはスクエニ社員なん?
2021/03/11(木) 14:26:40.99ID:EP88fPM90
WEB+DB PRESS Vol.90 に、
ドラゴンクエストX オンラインの特集が載ってた

どうやって作っているか
686デフォルトの名無しさん (ワッチョイ 3b9c-mZtP)
垢版 |
2021/03/11(木) 14:57:46.49ID:WbnbUiBg0
ずいぶん昔だよねー
読んだことある気がする!
687デフォルトの名無しさん (ワッチョイ fb5f-R8lj)
垢版 |
2021/03/11(木) 15:04:05.86ID:UhH3pQhX0
ドラクエのRDBMSが高級商用製品なのも知られていない。
2021/03/11(木) 15:46:48.19ID:EP88fPM90
RDBMS は、よく覚えていないけど、こういうやつだったかな?

Cassandraは、OSS の分散DB

Kyoto Tycoon は、GPL V3 / LGPL。
Kyoto Cabinetは、GNU一般公衆利用許諾に基づいて利用許諾されたフリーソフトウェアです
689デフォルトの名無しさん (ワッチョイ fb5f-R8lj)
垢版 |
2021/03/11(木) 17:03:54.44ID:UhH3pQhX0
守秘義務違反
690デフォルトの名無しさん (ワッチョイ d2ba-xjD7)
垢版 |
2021/03/13(土) 18:02:37.92ID:6BKchtYI0
サイトにある画像を自動で保存するクローラみたいなものを作ろうとしてるのですが、
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
のエラーが出ていて、調べたのですが何を最初に解決しなければいけないのか教えていただければと思います。
2021/03/13(土) 18:07:24.97ID:zRCYlte/0
ESP希望か
692デフォルトの名無しさん (ワッチョイ 0601-pgwD)
垢版 |
2021/03/13(土) 20:20:54.71ID:5su42aEd0
>>690
証明書の検証をしようとしたところ有効な証明書パスが見つかりませんでしたってことだから
証明書の検証をしないようにすればいんじゃないかな
693デフォルトの名無しさん (ワッチョイ d2ba-xjD7)
垢版 |
2021/03/13(土) 21:56:40.77ID:6BKchtYI0
>>692
ありがとうございます。
証明書の検証について調べてみます。
2021/03/13(土) 22:17:54.17ID:zRCYlte/0
ggrks(後出し)
2021/03/14(日) 05:24:50.44ID:IL1Rx7pe0
wget で、サイトのリソースも含めて、丸ごとダウンロードできるのでは?
ひょっとしたら、curl でも出来るのかな?

Ruby ではRails とか、Nokogiri, Selenium Webdriver などでスクレイピングして、
a タグを抜き出すとか
2021/03/14(日) 06:56:16.15ID:btOQNnrQ0
できるけど robot.txt の存在には気を付けてね
一歩間違えれば攻撃になっていまうから
2021/03/14(日) 11:00:05.88ID:5cMH1VZO0
怪しい事やってんだろ、自覚があるかどうかは知らんが
2021/03/14(日) 11:19:34.50ID:BNc+xu8pr
別スレでdata-*属性に書かれている画像がwgetでダウンロードできなくて困ってる人いたな
HTML5ではありふれた状況だしwgetで正規表現による属性追加くらい標準機能で受け入れてくれてもいいのにと思ったわ
2021/03/14(日) 12:46:13.81ID:IL1Rx7pe0
data-* 属性の使い方は、各ユーザーが決めるものだから、使い方を予測できない

例えば、5ch では各投稿に、投稿番号・ID などの、3つのdata-* 属性を使っている

<div class="post" id="692" data-date="NG" data-userid="ID:5su42aEd0" data-id="692">
2021/03/14(日) 23:13:29.77ID:RhoQSMwe0
予測できない多目的属性だからこそ、用途を知っている可能性があるコマンド利用者が指定できればいいのにという話なんだが…
いつものRubyおじさんかな
2021/03/15(月) 00:10:06.44ID:W4mhVG7e0
>>698
あれは画像はダウンロードできてるけどdata属性に書かれてる絶対パスを相対パスに変換してくれないから
JSで処理してるリンクをクリックしてもオフラインだと動かないという話だったかと
正規表現使った簡単な置換コマンド1つで処理できる内容なのでwgetで指定できる必要性はないと思う

仮にdata属性に指定された画像がダウンロードできてないという話だったとしても
grepしてwgetするコマンド1つ書けばいいだけなのでは?
2021/03/15(月) 02:33:53.76ID:1qxK5Hvcr
>>701
別スレの話でモメてもしょうがないので回答だけ
ダウンロードできてるというのは全部回答者の憶測だったよ
wgetしてgrepしてwgetシーンが時々あるならツール自身がやってくれた方がいいと思ったんだよね
別にそのオプションがないから糞だとか言うつもりはない
2021/03/15(月) 02:41:03.52ID:1qxK5Hvcr
>>702
誤字
wgetしてgrepしてwgetする、だった
あとwgetの仕様を見たら既知の属性しか処理対象じゃなかったんだよね
んでオレオレ属性に対応するパッチを書いてる人もいたので、今やdata-*も広く使われてるんだし公式でとっとと取り込めばいいのにと思ったわけよ
2021/03/20(土) 16:56:48.35ID:Wp3MfYRr0
初見

大量のPDFを一括処理しようと思ってる。
やりたいことは、PDFをAcrobatで開いた時の「文書のプロパティ」の「レイアウトと倍率」の各項目を所望の状態にしたい。それを一括大量に。

Javaのライブラリでそんな事ができるのってある?
705デフォルトの名無しさん (ワッチョイ fb01-qYeW)
垢版 |
2021/03/20(土) 17:12:34.24ID:ct9wvzVp0
>>704
iTextでできそう
https://kb.itextpdf.com/home/it7kb/faq/how-can-i-set-the-zoom-level-of-a-pdf-using-itext-7
2021/03/20(土) 18:37:44.87ID:Wp3MfYRr0
>>705
サンクス
707デフォルトの名無しさん (アウアウウー Sae9-iavC)
垢版 |
2021/04/05(月) 00:17:31.28ID:1w8DpgCTa
>>232
あ、これコンパイルでもなく、ランタイムでもない変なエラーね。対応してませんみたいなやつ。

eclipseのバージョン2019年頃のなら普通に Swingできました。

どうしてもあかんときは、コマンドラインで javac, javaして動かしたら行けるはずです。
2021/04/05(月) 13:47:55.56ID:MaoiVFnr0
javaに参照渡しはないと思ってたのですが以下のコードをみるとfは参照渡しに見えます
コンパイラの最適化とかでインライン展開でもされるのでしょうか
class T{
public int a;
public T(int v){
a=v;
}
}
public class HelloWorld {
public static T f(T a){
a.a = 7;
return a;
}
public static void main(String[] args) throws Exception {
// Your code here!
T a = new T(10);
T b = new T(10);
T c = f(a);
T d = a;
System.out.println(a.a);
System.out.println(b.a);
System.out.println(c.a);
System.out.println(d.a);
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
2021/04/05(月) 13:50:36.82ID:MaoiVFnr0
上のコードの実行結果

7
10
7
7
T@6d06d69c
T@7852e922
T@6d06d69c
T@6d06d69c

cは参照アドレスが異なる者と思っていました
fの引数の箇所とreturn aの箇所でそれぞれ参照の値渡し用のコピーが作られると思っていたのですが
違うのでしょうか
2021/04/05(月) 14:27:37.33ID:7MHi1+fTM
どこでそんな知識を…
むしろ、プリミティブ型以外は全て参照渡しだよ
2021/04/05(月) 14:35:13.55ID:8inEG4bOa
参照渡しと言い切ると齟齬がある
fの中でaに再代入した場合呼び元のオブジェクトには波及しないから
2021/04/05(月) 15:11:57.74ID:yRGvsIRm0
>>708
wikipediaの「引数」の項目みれば? たぶん「参照渡し」を勘違いしてるだけかと。
713デフォルトの名無しさん (ワッチョイ 0d9c-h+YV)
垢版 |
2021/04/05(月) 19:31:09.38ID:V741/wtv0
ときどき出てくる参照渡しを勘違いしている人ってなんなんだろ?
C言語しか知らないのかな?
C言語のポインタ引数のことを参照渡しだと思ってそう
C言語のポインタ引数は値渡しだよ
ていうかC言語とJavaは値渡ししかない

C++かC#をやると参照渡しがなんなのか分かるよ
C言語とJavaをやってるだけでは参照渡しは理解できない(だって参照渡し出てこないもん)
714デフォルトの名無しさん (ワッチョイ 0d9c-h+YV)
垢版 |
2021/04/05(月) 19:36:15.68ID:V741/wtv0
いったいどこで「参照渡し」なんて言葉覚えてくるんだろ
Javaにはそんな言語機能ないのにさ
2021/04/05(月) 20:51:13.92ID:2g7RifS+0
C では変数は、値を入れる箱だけど、
他の言語では、変数は名付け・ラベル

箱に入れるようなイメージをしてると、参照のコピーで苦しむ。
immutable・変更不能なのは、Primitive 型だけ

それ以外は、deep copy していく際、
再帰的に、Primitiveに突き当たるまで、実体がコピーできないので、
参照のリンクを断つのに苦労する
716デフォルトの名無しさん (ワッチョイ 0d9c-h+YV)
垢版 |
2021/04/05(月) 20:57:44.08ID:V741/wtv0
C言語とJavaは同じだと思うけどなー
C言語のポインタ変数=Javaのオブジェクト変数(参照型)だよ
717デフォルトの名無しさん (ワッチョイ 15f6-s+Uo)
垢版 |
2021/04/05(月) 21:42:04.48ID:H5o31n3E0
このソースの結果がなんでこうなるのかわかりません。
言語仕様を理解していれば説明できるといわれました。
なんでこうなるのでしょうか?

public class Main {
 public static void main(String[] args) throws Exception {
  Integer int050a = 050; Integer int050b = 050;
  Integer int100a = 100; Integer int100b = 100;
  Integer int150a = 150; Integer int150b = 150;

  Class<?> clazz = Integer.class;
  Field field = clazz.getDeclaredField("value");
  field.setAccessible(true);

  field.setInt(int050a, 050 + 1);
  field.setInt(int100a, 100 + 1);
  field.setInt(int150a, 150 + 1);

  System.out.printf("int050=%d,%d(%b)\n", int050a, int050b, int050a==int050b);
  System.out.printf("int100=%d,%d(%b)\n", int100a, int100b, int100a==int100b);
  System.out.printf("int150=%d,%d(%b)\n", int150a, int150b, int150a==int150b);
 }
}

結果
int050=41,41(true)
int100=101,101(true)
int150=151,150(false)
2021/04/05(月) 21:51:16.81ID:5mhyIfkaM
Javaの配列やオブジェクト引数の渡し方は値渡しと参照渡しの中間みたいな感じ
この中間的なものに名前がついていないことが学習しにくさを招いてるような気もする
2021/04/05(月) 22:08:41.60ID:P35uBEDX0
>>717
050はoctet

にしても一瞬にして見る気を奪う変数名
2021/04/05(月) 22:10:43.10ID:/OfavUpo0
>>717
8進数
2021/04/05(月) 22:12:11.77ID:2g7RifS+0
Ruby では、すべてがオブジェクトだから、数値型.メソッド、と書ける

Primitive 型がある言語では、Primitive型.メソッド、とは書けない。
Primitiveには、メソッドが無いから

メソッドを呼びたい際、Box・オブジェクト化する。
オブジェクトで包む

そうすると、オブジェクト.メソッド、と書ける。
Box/Unbox 化
722デフォルトの名無しさん (ワッチョイ 1b01-ugfq)
垢版 |
2021/04/05(月) 22:54:58.29ID:BlJGn6z90
>>717
これかな

5.1.7. Boxing Conversion
https://docs.oracle.com/javase/specs/jls/se16/html/jls-5.html#jls-5.1.7

If the value p being boxed is the result of evaluating a constant
expression (§15.29) of type boolean, byte, char, short, int, or long, and
the result is true, false, a character in the range '\u0000' to '\u007f'
inclusive, or an integer in the range -128 to 127 inclusive, then let a and
b be the results of any two boxing conversions of p. It is always the case
that a == b.

ハイパー超訳だけど
ボックス化された値が-128〜127の場合は同じオブジェクトになります、ってことのよう

ラッパークラスもコンスタントプールに格納されるんかね、これは知らなかった
2021/04/05(月) 22:57:24.44ID:BF+vBiwm0
>>713
>C++かC#をやると参照渡しがなんなのか分かるよ
偉大なるpascal様を忘れ給うな
724デフォルトの名無しさん (ワッチョイ 1b01-ugfq)
垢版 |
2021/04/05(月) 23:00:05.89ID:BlJGn6z90
>>708
えっと、参照渡しの定義は
仮引数への代入によって実引数が変わることなんよ

a.a = 7;

これは仮引数への代入ではないよ
.(ドット)演算子があるのでオブジェクトの状態を変えてるだけ

変数への代入とオブジェクトの状態を変える操作は異なるもの、という認識が必要

a = new T(7);

としても実引数は変わらないっしょ、だからJavaは値渡しなんよ
725デフォルトの名無しさん (ワッチョイ 1b01-ugfq)
垢版 |
2021/04/05(月) 23:02:02.65ID:BlJGn6z90
>>718
一応、共有渡しという呼び方はある
2021/04/05(月) 23:14:53.36ID:2g7RifS+0
まず、等価・等値の区別を学ぶべき。
Primitive型とオブジェクトの等価・等値とは、何を比べる事なのか?

内包する値が等しいのか、
オブジェクトIDが等しいのか?
727デフォルトの名無しさん (オッペケ Sr01-jPF6)
垢版 |
2021/04/06(火) 08:57:10.74ID:LwA3WJBer
GoogleがJava SE APIをコピーしたことは、プログラマーが自分の才能を生かして新しいプログラムを開発するために必要なコードのみを含んでおり、法律上、その素材におけるフェアユースにあたる。
2021/04/06(火) 11:02:49.78ID:KbcOEQRB0
それがどうかしたの?
729デフォルトの名無しさん (ワッチョイ 23a5-qoZl)
垢版 |
2021/04/06(火) 11:26:18.57ID:pJApQ9S90
HOTな話題だろ
勝訴したんだから
730デフォルトの名無しさん (ワッチョイ 0d9c-h+YV)
垢版 |
2021/04/06(火) 11:29:21.61ID:siOuNgG90
今日、12年に渡るGoogleとOracleの裁判に判決が出たんだよ!

GoogleのAndroidでのJava使用はフェアユースだからOracleの権利を侵害していないと認められた
これはJavaコミュニティにとっても喜ばしいニュースだね

権利侵害が認められるようならGoogleはJavaを捨てるなんて話も出ていたから、そうならなくて本当によかった!
2021/04/06(火) 13:02:15.98ID:hd98bw+B0
グーグル勝利でKotlin大敗北!
2021/04/06(火) 13:29:35.88ID:M2YZof7pa
>>730
Fuchsia「シッテタ」
2021/04/06(火) 13:55:22.95ID:KbcOEQRB0
>>729
ならそうかけ、スレチだけど
2021/04/06(火) 16:14:50.37ID:D/UA/358a
java勝ったからもうお前に用はない

  ○ ←google
 く|)へ
  〉 ヾ○シ ←Kotlin
 ̄ ̄7 ヘ/
  /  ノ
  |
 /
`|
2021/04/06(火) 20:44:53.68ID:AUQo/ocE0
コトリンwは消えていいよw
2021/04/07(水) 00:08:35.01ID:/VvrJao60
Oracle は、Java を独占して、大儲けしようと思っていたけど、大失敗
2021/04/07(水) 03:59:02.94ID:ALhqLzoC0
これで、java のクラスライブラリを C# や C++ に移植できる‥‥
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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