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

■ このスレッドは過去ログ倉庫に格納されています
2018/02/10(土) 17:49:40.56ID:l9ZzjyKP
プログラミング言語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質問・相談スレッド180★★
https://mevius.5ch.net/test/read.cgi/tech/1492780397/
2デフォルトの名無しさん
垢版 |
2018/02/11(日) 01:19:57.46ID:pgvJ3Hcm
Java SE 8 Date and Timeについて教えてください

String型の"平成元年1月8日"という値をLocalDate型に変換したいのですが
DateTimeFormatterを使って変換する方法を教えてください
お願いします
3デフォルトの名無しさん
垢版 |
2018/02/11(日) 01:33:03.69ID:B0DbdRYG
そういやそれやってみたけどどうやっても「元年」がダメだったな。「1年」ならできたんだけどな。
何か方法はあると思うんだけど今のところわからない。
4デフォルトの名無しさん
垢版 |
2018/02/11(日) 04:56:25.67ID:3iWAD1Pj
Javaのファイル型KVSめちゃくちゃ遅くないですか?
KyotoCabinetとかの1000分の1レベル・・・
たぶんstaticにインデックスを持ってないのかな
組み込み型かつファイル型で何かいいのありますか?
2018/02/11(日) 07:12:11.17ID:Dl6onReq
LocalDate.parse(text.replace("元年", "1年"), formatter);
オラクルに文句言うしかないね
2018/02/11(日) 07:19:28.55ID:fidWsgUl
>>4
javaのkvsが遅いってどういうことよ。
公式のライブラリなんてないでしょ。
7デフォルトの名無しさん
垢版 |
2018/02/11(日) 08:23:10.55ID:3iWAD1Pj
javaのプログラムといったとき公式のプログラムだけを指すわけではありません
2018/02/11(日) 10:15:34.56ID:fidWsgUl
つまり、4が勝手に選んだ3rdパーティのkvsが遅いと言いたいわけではなく、
javaによるkvs実装は一般的にインデックスがなくて遅いって言いたいの?
9デフォルトの名無しさん
垢版 |
2018/02/11(日) 12:45:16.73ID:ELb3bzVx
javaってなんか有料になるんですか?
10デフォルトの名無しさん
垢版 |
2018/02/11(日) 13:45:44.84ID:pgvJ3Hcm
>>3
>>5
ありがとうございます
2018/02/11(日) 23:30:55.85ID:uxIefof+
今Open javaというのを使っているのですがOracle javaというのを使った方がいいのでしょうか
ざっと調べてみたのですがどちらにすべきというのがいまいちわかりません
12デフォルトの名無しさん
垢版 |
2018/02/12(月) 06:49:36.37ID:IgpM8r15
例外の使い方どうすればいいですか?
falseやnullを返していくか、例外を投げるか。
例えばDBへのトランザクションで複雑な内部処理の中だとして、
処理の失敗に応じてコミットするか選択しないといけない。
例外のベストプラクティスが知りたい
2018/02/12(月) 12:47:18.02ID:qekpeHDJ
それが判断できるところでcatchして、適切な処理をしてから再throwすればいいと思うよ
2018/02/12(月) 23:58:43.00ID:CWNu4mBa
パッケージ名の付け方について自身の持つドメインを逆からという風に聞いたのですが
個人開発等でドメインを持っていない方々はどうされているのでしょうか?
ユニーク性から考えてメアドを利用するというのを思いついたのですが
何か作法はありますか?
2018/02/13(火) 01:17:29.42ID:ItXL3xp2
>>12
場合による.
16デフォルトの名無しさん
垢版 |
2018/02/13(火) 01:23:39.93ID:uX7IZed7
>>14
何でも好きなの作ればいいじゃん。特に制限があるわけじゃないし。
公開して多くの人に使わせることを目的としたライブラリなんかはそういう風に名前付けといた方が分かりやすいし他と衝突する事もないだろうからそうした方が良いだろうけどね。必ずしもそうしなけりゃいけないわけじゃない。
17デフォルトの名無しさん
垢版 |
2018/02/13(火) 01:54:37.39ID:/bOHErQ9
そもそも例外ていちいちthrowする必要あります?
例外なんだから、コーディングされていない遷移じゃないですか?
NPEとかClassCastとかもチェックせずに、全部上で捕まえて処理してください、
じゃだめですか?
2018/02/13(火) 02:15:44.45ID:FRKwtYnc
>>17
それも場合によるかな
処理しなくていい例外とかもあるからねぇ
19デフォルトの名無しさん
垢版 |
2018/02/13(火) 04:06:37.94ID:uX7IZed7
>>17
ま、なんというか、その辺はJavaでは今更どうにもならんのでKotlinとか使えば良いんじゃないかな。
20デフォルトの名無しさん
垢版 |
2018/02/13(火) 08:59:03.90ID:/bOHErQ9
log4j2のxmlが反映されない・・・
LogManager.getLoggerした時点で狂ったようにログ吐くからなんとかしたいんだけど
これでtraceをinfoにしても止めれないんだけどなぜですか?
<Loggers>
<Root level="trace">
<AppenderRef ref="console" level="trace"/>
</Root>
</Loggers>
2018/02/13(火) 09:31:34.49ID:jLCpX7pa
場合による、便利な言葉ですねえ
2018/02/13(火) 12:05:27.36ID:AHnFnr3H
>>14
sofだと、ドメイン取ったほうがええよ。でもとれないならメアドか自分のプロジェクトレポジトリのurlを使いなよ、って回答に人気があるね。
2018/02/13(火) 12:27:53.31ID:IoOWXwkE
例外は、基本的に戻り値ではなく、try-catch で囲む。
戻り値で返すとわかりにくいから、例外構文ができた

あとは君が考える

入力値エラー、0 除算、ファイルが存在しない、
メモリが足りない、型変換エラーの場合に、君はどうする?
2018/02/13(火) 13:55:34.17ID:O++cRC/Q
>>11
11以降はオラクル版の提供やめるみたいよ。
2018/02/13(火) 20:12:23.22ID:bGWlvAgR
>>16
>>22
ありがとうございます
参考にします
26デフォルトの名無しさん
垢版 |
2018/02/14(水) 08:19:05.85ID:IbDcUCKa
Booleanとbooleanとかオブジェクト型とプリミティブ型の使いわけどうすればいいですか?
性能的にシビアなところはプリミティブのほうがいいですか?
27デフォルトの名無しさん
垢版 |
2018/02/14(水) 08:27:53.52ID:/di6HjOp
Listに入れるとかnullが必要なパターンじゃない限りbooleanでok
2018/02/14(水) 08:39:24.34ID:xRv25q5d
>>26
基本プリミティブ型だけ使う。ジェネリクスの型宣言するときだけラッパー型使えばいいよ。
2018/02/14(水) 10:32:08.01ID:xbUNXEcU
>>26
主に他の言語やら他のアーキテクチャと連携するときとかに使う
データ通信時にtrue/falseを文字列でやり取りしたりもすることもあるので使えるようになると便利

他のラッパークラスも一緒
2018/02/16(金) 04:25:55.90ID:PIB5v9ZW
バッチ処理とJavaでする処理ってなにか違いがあるんでしょうか
よく「夜になったらバッチが動いてデータを処理してくれる」とかありますが「夜になったらJavaがデータを処理してくれる」とかでも良いように見えて違いがわからないです
2018/02/16(金) 06:51:31.03ID:UxRi07OK
>>30
「バッチ」は処理方式の話
「java」は言語の話

観点が違う
32デフォルトの名無しさん
垢版 |
2018/02/16(金) 10:23:33.09ID:OW1usLwi
夜になるとバッチ処理でJavaのプログラムが起動して、なんてこともありうる。
2018/02/16(金) 10:43:37.31ID:OVf/pPmf
バッチこい
34デフォルトの名無しさん
垢版 |
2018/02/21(水) 18:43:46.25ID:Ho2ISOMi
Java終わりかな
35デフォルトの名無しさん
垢版 |
2018/02/21(水) 19:34:28.74ID:2C7myRiq
普通に考えて中々終わらんだろう。
Androidも健在だしな。Kotlin使うとしても新規プログラムからばかりでこれまでにJavaで作ったやつを変換してまで乗り換えるようなのはあまりないと思うよ。
2018/02/21(水) 21:00:30.83ID:aRBSqY5R
「バッチ処理」で検索!

プログラムによる自動処理
2018/02/22(木) 17:39:01.87ID:XBqMjBt+
文字の連結、追加で
ab+=cd
と記述できますが
ab=ab+cd
この記述と違ってメモリ幅の変動がなく
連続して前者の追加加算をしてもそれほど速度低下にはならないもんなんでしょうか?
内部を知ってる方に伺いたいです
2018/02/22(木) 17:49:43.91ID:gz5vdKLC
どっちも同じバイトコードになるに決まってんだろアホ
2018/02/22(木) 17:59:09.72ID:XBqMjBt+
書いてあるようにメモリ幅と内部のやりくりについての質問です
全くの見当違いの人はレス不要です
わからない人でなくわかっている人に聞いています
40デフォルトの名無しさん
垢版 |
2018/02/22(木) 18:24:41.64ID:Rqvcd5k2
両方書いてコンパイルしてバイトコード出して見比べてみたら?
2018/02/22(木) 20:36:01.87ID:i8z+ldk3
わからない人は答えないでください(上から目線)
42デフォルトの名無しさん
垢版 |
2018/02/22(木) 21:30:20.55ID:gkrr6Csx
「それほど」がどの程度の速度低下まで許容されるのかをちゃんと定義してくれないと(すっとぼけ)
2018/02/22(木) 21:52:44.46ID:IYnEzTFC
「メモリ幅」ってなんのことだ?
44デフォルトの名無しさん
垢版 |
2018/02/22(木) 23:26:05.38ID:YcYRar81
確保するメモリのサイズのことじゃなかろうかと知らんけど
45デフォルトの名無しさん
垢版 |
2018/02/22(木) 23:26:40.80ID:YcYRar81
「メモリ幅」ってなんのことだ?
46デフォルトの名無しさん
垢版 |
2018/02/22(木) 23:27:09.12ID:YcYRar81
同じバイトコードになるという答えが見当違いとは思えない
2018/02/22(木) 23:53:50.86ID:K6gwUVsb
メモリ幅なんて言う奴は、CPU・RAM を分かっていない

どの言語でも、そんなの保証していない
2018/02/22(木) 23:54:13.94ID:ylubyEbg
>>39
ほんこれ
わからないなら初心者版行けとしか
2018/02/23(金) 06:23:51.21ID:Brpvjprl
java 文字列連結 最適化
でググった方が早いよ。
2018/02/23(金) 08:13:48.99ID:oHNB0pIN
そもそも ab+=cd と ab=ab+cd の違いが問題になるほどのプログラム組んでるのかよ w
大量の文字列追加があるならStringBuilder使えや
2018/02/23(金) 09:42:52.51ID:HSy+CPfQ
「わからない人は答えないでください」は知恵遅れでよく見るけどそれが掲示板にも流れてきてるのか
そういうやつが「普通」になっているのか、どっちなんだろう?
52デフォルトの名無しさん
垢版 |
2018/02/23(金) 11:27:53.19ID:mFZl6vMq
>>45
ほら、目盛りの幅。3cmとか。
53デフォルトの名無しさん
垢版 |
2018/02/23(金) 11:54:49.01ID:zNsQyXzG
>>50
これ
2018/02/23(金) 18:05:40.89ID:tsgXcJ7V
質問スレ 「わからない人は答えないで下さい」

ま、まあそうだな…
55デフォルトの名無しさん
垢版 |
2018/02/23(金) 19:26:11.88ID:Py5a3myD
String a = "わからない人は";
String b = "答えないでください。";

a += b;
56デフォルトの名無しさん
垢版 |
2018/02/23(金) 19:37:01.17ID:Jw2VdbNh
ふう
2018/02/23(金) 22:52:04.40ID:IHdQ8A6l
>>55
ベストアンサー
2018/02/24(土) 06:52:39.70ID:Fw6wAD1s
>>37
周辺のコードとJavaコンパイラのバージョンによって変わったりするからそれだけの情報だと何とも
つまりは>>50の通り
>>38は間違ったこと言ってないからね

メモリ幅?:Stringが確保する領域のこと?
内部のやりくり?:GCのタイミングの話?
連続して〜?:ループ処理の内部を+=か+で変えるってこと?それなら38の通り

何を持って見当違いだと判断したのだ
2018/02/24(土) 07:22:33.34ID:BKLSO8lU
>37は人気者だね!
2018/02/24(土) 07:44:29.29ID:UzdWcVQE
わからないの群れを見越して質問者に先に釘をさされるようじゃここも終わりだな
2018/02/24(土) 08:10:48.12ID:8SGsAbML
質問内容があの走ってる電車のレール長は変わりますか?どのように変わりますか?
に対して38のこたえが レールの上を走ってるに決まってんだろ だからじゃね
頓珍漢と思われても仕方ない
2018/02/24(土) 08:12:05.24ID:MAo3e6Of
僕の頭の中がわかる人だけこたえてください
2018/02/24(土) 08:36:28.75ID:CuRF79s8
わざわざ言わんでも、「メモリ幅」が何を意味しているのか推理できる人しか答えられないのは確かだな。
2018/02/24(土) 08:40:19.77ID:nsuuekrF
>>60
お前はどこにいるのw
2018/02/24(土) 08:54:31.97ID:Fw6wAD1s
>>61
その例えはおかしいわ
この場合、性能が同じaの電車とbの電車があります。同じ回数走ったらレールの長さや電車の速度はかわらないんでしょうかと言ってるようなものだぞ
当然、レールの長さは変わらない
2018/02/24(土) 08:58:48.32ID:Fw6wAD1s
いや、やっぱなんか違うな
無理やり例えるのは良くないな
2018/02/24(土) 18:13:10.60ID:IGnDdAZf
>>61
お前もわかってないからそんな頓珍漢な例えになるんだよ
同じバイトコードになるってことは、それが元々 a += b と書かれてたか a = a + b と書かれてたかなんてJVMにはわからないし、
JVMが同じものとして解釈する以上、メモリ幅の変動(?)も速度低下(?)もないわけで

>>37が言ってるのは、同じバイトコードになる、よってそのコードは等価
お前の例えは、レールの上を走ってる、よってなんなの?
2018/02/24(土) 18:16:34.78ID:dm+ZE7MQ
電車から逃げ出した痴漢だろ
2018/02/24(土) 20:20:05.65ID:BKLSO8lU
っていうかメモリ幅ってなにさ?
2018/02/24(土) 21:19:43.00ID:mD86uI0D
SIMMの幅のことだろ
2018/02/24(土) 22:08:13.59ID:01A04fC8
むかしパソコン詳しい人に教えてもらったっけ
メモリは机の広さで多くのファイルを広げられるから作業が速くなる
机が小さかったら使わないファイルや文房具をしまったりするから効率が悪くなるって

なるほどなーって思った
それでうちの机はあまり大きくないからメモリ少なめのパソコン買ったよ(^o^)
2018/02/25(日) 03:42:22.23ID:PW98pIgG
なんで主記憶容量の話に
2018/02/25(日) 10:14:47.10ID:+Ur3vkTA
アホの議論だから
2018/02/25(日) 11:16:42.37ID:59jeAjzx
でもパソコンのメモリって減らないからすごいよな!
スマホは毎月7ギガとか減るのに
75デフォルトの名無しさん
垢版 |
2018/02/25(日) 11:25:47.01ID:251p5lsj
ポータブルハードディスクって幅小さくて持ちやすいよな
2018/02/25(日) 13:39:46.79ID:8xIV5yfC
>>71
ちょっとだけクスッとした。
77デフォルトの名無しさん
垢版 |
2018/03/03(土) 17:37:02.43ID:V2kYq93l
だから?
78デフォルトの名無しさん
垢版 |
2018/03/03(土) 18:03:32.42ID:h2dbhV1r
https://images-na.ssl-images-amazon.com/images/I/61DmP9T3dkL._SL1500_.jpg
79デフォルトの名無しさん
垢版 |
2018/03/10(土) 00:24:37.51ID:J3fnbe39
java勉強中の初心者です
javaEEのservletの“doDelete”について質問です。
勉強のためcurdを実装しているのですが、
post(c),get(r),はhtmlのform,hrefから送信できたのですが、
htmlからdelete(d)を送信し"doDelete”に渡したいのですがどの様にすればいいのでしょうか。
そもそも、考え方が間違っているのでしょうか。
アドバイス、参考などがありましたらご教授お願いします。
80デフォルトの名無しさん
垢版 |
2018/03/10(土) 00:34:48.00ID:q/evhJ6x
ご教示
81デフォルトの名無しさん
垢版 |
2018/03/10(土) 00:50:58.87ID:aNTnNw8G
>>79
JavaScriptで
デベロッパーツールとjQueryでREST APIのテストリクエストを実行
http://dim5.net/programming/using-ajax-request-on-js-console.html
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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