16/06/17 08:17:52.67 442rGUo0.net
「質問用テンプレ」
下記の各項目のうち不要・不明な項目や選択肢は消してください。
自分にとって適切な項目や選択肢がない場合は、項目や選択肢を追加して構いません。
【言語のバージョン】
【フレームワーク】
【OS】
【開発環境】
【使用しているIDE】
【Java歴】
【javadocは見たか】
【質問事項】
【エラー内容】
【エラーの経緯】
【回答期限】
【その他自由記入】
3:デフォルトの名無しさん
16/06/17 19:29:17.32 22VBy3os.net
age
4:デフォルトの名無しさん
16/06/18 10:22:12.25 af2C6Gfp.net
>>1
乙
5:デフォルトの名無しさん
16/06/18 17:24:13.78 7yDXVLRa.net
前スレ>>998
unkoの丸括弧なくね?
6:デフォルトの名無しさん
16/06/18 17:35:35.50 pG9pCEms.net
>>5
ミスった…
割とよくあるけど
7:デフォルトの名無しさん
16/06/18 20:26:48.86 eMmy59f1.net
int[] arr1 = new int[] {3, 4, 5};
int[] arr2;
arr2 = arr1;
arr2[0] = 999;
System.out.println(arr1[0]);
これで999が表示されることを発見しました。
Java歴4日目です。
arr1, arr2は配列の先頭アドレスを保持する「ポインタ」なんですね。
C言語のポインタよりは不自由っぽいですけど。
8:デフォルトの名無しさん
16/06/18 20:34:16.19 R/A4TY9p.net
C言語の知識をベースにするなら
参照型(Objectの子クラス,配列含む)は概ねポインタだと思っていいよ
ポインタ演算は出来ないしC++の参照の方が近いけど
9:デフォルトの名無しさん
16/06/18 20:44:52.90 eMmy59f1.net
「参照型」っていうんですね。覚えておきます。
10:デフォルトの名無しさん
16/06/18 20:49:15.20 eMmy59f1.net
今日で文法の勉強を終わらして明日から本題のオブジェクト指向に
入ります。C++で挫折してるのでJavaで再挑戦です。
分からなくなったらまたお世話になります。
11:デフォルトの名無しさん
16/06/18 22:04:32.56 pG9pCEms.net
参照型と値型を教えるには、エクセルを使って説明するのが一番よさそう
実践したことないけど
12:デフォルトの名無しさん
16/06/18 22:05:46.86 w9zLlF5g.net
特に切り分けはないけど初心者なら初心者用のスレがあるからそっちのがいいかも
Java入門・初心者質問スレ [無断転載禁止]©2ch.net
スレリンク(tech板)
13:デフォルトの名無しさん
16/06/19 11:24:42.18 gzsVn/8O.net
>>7
そうそう。考え方はポインタでも良い。
実際には配列は「配列クラス」というクラスだ。配列変数はそのクラスのインスタンスを参照している(そこへのポインタを持っている)。
どこも参照していない状態では null になる。
配列そのものがクラスになっていて内部が隠蔽されているため C みたいに *(a + 1) のようなアクセスができない。
char[] x = new char[] {'a', 'b'}; とやった後で x[1] はアクセスできても *(x + 1) のような表現でのアクセスは不可能。
x + 1 の計算そのものができないし、できたとしてもそれが 'b' を指していない。
14:デフォルトの名無しさん
16/06/19 11:32:37.02 pXg+pklT.net
見方を変えれば
Hoge[] h=new Hoge[foo];
は
Array<Hoge> h=new Array<>(foo);
とも見れるよね
15:デフォルトの名無しさん
16/06/19 15:17:31.53 kW3tl/5G.net
>>13
間違い。配列は配列型であってクラスではない。
Javaの言語仕様でも区別されている。
Javaでインデックス構文が使えるのは配列だけだろ?
その時点で完全に特別扱いされてるんだから、*(x + 1)と書けたってそんなにおかしくはない。
単にそういう構文が用意されてないだけ。
16:デフォルトの名無しさん
16/06/19 15:25:39.49 qvkTbkKV.net
Javaの配列って int x[]; みたいな明らかに意味的におかしい書き方できたりするし
Javaはもう古い言語だから必ずしも全てが論理的に説明できるとは限らない
17:デフォルトの名無しさん
16/06/19 15:42:58.19 pXg+pklT.net
そんなキモイ書き方出来たのかよ
18:デフォルトの名無しさん
16/06/19 16:07:21.98 HHDGaKE5.net
int[] x, y[], z[][];
もっときもす
19:デフォルトの名無しさん
16/06/19 16:41:29.03 ao4WLgfX.net
>>16
それは C/C++ 流の書き方,というだけの話だ
20:デフォルトの名無しさん
16/06/19 23:09:21.93 KT7oMTh2.net
JSPサーブレット→JSFページにpostで値を渡したいのですが出来ません。
こういうのは無理ですか?
21:デフォルトの名無しさん
16/06/20 00:18:58.04 dS/90SDy.net
コントローラー間で受け渡したいという質問?
てかJSFってコントローラー有るのか?一応MVCっぽいが
HttpServletRequest使って受け側もPOSTにすりゃ取れるんじゃ無い?
そもそもHttpServletRequest使えるのか?
もしくは使ってるフレームワークのフラッシュスコープで渡せる奴があるかも
あとはセッション使うか
22:デフォルトの名無しさん
16/06/20 03:27:40.09 mc52EJgE.net
Javaのローカル変数の命名規則はキャメルケース?スネークケース?
23:デフォルトの名無しさん
16/06/20 07:01:27.24 txdPwvGv.net
ローカル変数は小文字で1wordが基本でしょ
長い名前を付けないといけないようなわかりにくい記述や長いメソッドを避ける方が大事
どうしても長い名前を付ける場合はlower camel case
24:デフォルトの名無しさん
16/06/20 08:48:06.74 ywirnqR1.net
>>16
それはC言語からの移行者を意識したせいだが、いまとなっては弊害。
25:デフォルトの名無しさん
16/06/20 14:35:38.36 qR6j9JAZ.net
どうしてもこいつのメモリを今開放したい
という場合でもGCに頼らないといけないの?
deleteとかfree()みたいのは無いの?
26:デフォルトの名無しさん
16/06/20 16:00:48.85 qdxyzVyO.net
ないです
どうしても必要ならJNI経由のネイティブコードで
NewObject/DeleteLocalRef
27:デフォルトの名無しさん
16/06/20 16:58:55.93 3qaGWFpe.net
>>26
名前からして、Javaコード同様参照切れるだけじゃないの?
28:デフォルトの名無しさん
16/06/20 18:07:23.85 ZgRMnTrT.net
>>27
そう。たしかJNIのネイティブ側で確保したJavaオブジェクトの参照管理用メソッドだったはず。
29:デフォルトの名無しさん
16/06/20 18:31:46.99 qdxyzVyO.net
ごめんその通りです
30:デフォルトの名無しさん
16/06/21 00:57:24.06 JXRv7e5L.net
JNAが便利。
31:デフォルトの名無しさん
16/06/22 19:58:49.09 GQMck/3J.net
jerseyクライアントの、oauthで
リクエストトークン取得できんのだが。
アクセストークンまで一気に取ってきてしまう。
プロバイダークラスでgetrequest tokenなるものは
あるんだが使い方わからん
32:デフォルトの名無しさん
16/06/22 20:15:24.50 rOCK/JeF.net
はぁそうですか
次の方どうぞ
33:デフォルトの名無しさん
16/06/22 21:23:19.57 3HXVs3rC.net
>>32
よぉ無脳
34:デフォルトの名無しさん
16/06/22 21:27:56.70 29pCwcIn.net
ID変えてまで必死だな
お前のチラ裏じゃねぇんだよ
聞き方があるだろ
35:デフォルトの名無しさん
16/06/22 21:27:58.51 br2p71t+.net
>>32は意味のないチラ裏の呟きレスに対して適切なレスだな
36:デフォルトの名無しさん
16/06/22 21:31:36.78 br2p71t+.net
内容が被ったけどまさに「チラ裏」なんだから
同じこと書き込む人が居て当然か。
「聞き方があるだろ」は俺も思った。
37:デフォルトの名無しさん
16/06/22 21:51:22.95 29pCwcIn.net
それな
雑談板のノリで書き込むなと思うわ
38:デフォルトの名無しさん
16/06/23 00:13:20.42 q9zWphtB.net
行き詰ってしまったので、教えてください。
JSTLを使って以下のようにAccessのAAAテーブルからの
データを抽出をするよう、JSPファイルに記述しました。
<sql:setDataSource
var=
39:デフォルトの名無しさん
16/06/23 00:15:26.57 q9zWphtB.net
すみません、途中できれてしまいました。
<sql:setDataSource
var="db"
dataSource="jdbc:ucanaccess://C:\AAA.accdb" />
<sql:query var="result" dataSource="${db}">
SELECT * FROM AAA
</sql:query>
とやったところ、「DataSource が無効であるため、Connection を取得できません」と
いうエラーが発生します。
DataSourceにAccessファイルの内容がうまく設定されていない
為であると思われるのですが、解決方法がわかりません。
ucanaccessを使用したdataSourceへの登録はどのようにすればよいのでしょうか。
40:デフォルトの名無しさん
16/06/23 12:47:51.88 MZldXDvm.net
使ったことないから回答というわけじゃないけど
C:\ → C:/ にしてみたら?
41:デフォルトの名無しさん
16/06/23 21:38:34.83 q9zWphtB.net
>>40
ありがとうございます。
やってみましたが、同じエラーが発生します。
dataSourceの設定がうまくいかないことが原因なのはわかるんですが、
どこを直せばいいのかさっぱりで、困ってます。
42:デフォルトの名無しさん
16/06/23 22:59:50.85 SegCYmE0.net
JDBCのドライバーが入っていなけりゃ
接続は出来ん罠。
43:デフォルトの名無しさん
16/06/23 23:22:26.75 ZoKu0/Rn.net
Windowsはめんどいな
44:デフォルトの名無しさん
16/06/24 22:27:03.49 4tbWH7fs.net
>>42
出来ました。ありがとうございました。
45:デフォルトの名無しさん
16/06/25 08:18:56.97 hDVXP+SP.net
御後がよろしいようで、テケテンテン
46:デフォルトの名無しさん
16/06/25 19:53:53.71 z1jcthXl.net
>>44
ワロタ
47:デフォルトの名無しさん
16/06/26 09:54:52.90 a1bjCMMP.net
JDBCを知らんやつがいるとは
48:デフォルトの名無しさん
16/06/26 21:42:40.30 X6yBK2rP.net
JDBCで長いクエリ書くときってどうしてますか?
ヒアドキュメントがないので、+連結で複数行で書くか、1行で書くか迷っています
49:デフォルトの名無しさん
16/06/26 21:55:54.84 X6yBK2rP.net
あともう一つ
PreparedStatementは事前コンパイルが行われるので高速みたいですが、複数スレッド参照するのは危険ですよね?
スレッドセーフな事前コンパイルオブジェクトはありますか?
50:デフォルトの名無しさん
16/06/26 22:15:14.70 G4opLbcb.net
PreparedStatementのインスタンスがスレッドセーフだったところで
パラメータを設定し始めてからexecuteを呼ぶまでは単一のスレッドが占有していなければならないのだから
あまり意味がないと思いますが
51:デフォルトの名無しさん
16/06/26 22:18:24.91 X6yBK2rP.net
>>50
例えば不変なコンパイル済みSQL文を保存するクラスHogeがあって、それを様々なスレッドから使いまわすとか
new PreparedStatement(Hoge)みたいな感じでそれをもとにPreparedStatementをスレッドごとに作ればコンパイルが一回で済むんじゃないかと思って
52:デフォルトの名無しさん
16/06/26 23:15:55.55 vB/OzXR1.net
>>49
そもそもコネクション
53:デフォルトの名無しさん
16/06/26 23:28:50.73 X6yBK2rP.net
>>52
あっコネクションから作るんでしたか・・・
なら無理ですね
54:デフォルトの名無しさん
16/06/27 01:32:08.01 NCV21ZBQ.net
C/C++なら
"select "
"*"
" from "
"table1;"
とか書いたら全部そのまま連結されて1つの文字列定数になるけど
Javaではどうなんだっけ
55:デフォルトの名無しさん
16/06/27 01:38:19.89 +vyCfN5E.net
>>48
動的SQLなの?
56:デフォルトの名無しさん
16/06/27 01:52:45.13 DAKyHZFK.net
>>54
間に + が必要。
57:デフォルトの名無しさん
16/06/27 06:16:01.82 pen+Jb1T.net
>>55
JDBCは全部そうだろ
もしくはSQLJ使うかじゃね?
58:デフォルトの名無しさん
16/06/27 08:42:27.72 +vyCfN5E.net
>>57
動的をそういう意味では言ってない。
59:デフォルトの名無しさん
16/06/27 10:03:35.37 AA3DZInc.net
webスクレイピングをやってるのですが、
<div class="main">~</div>
みたいなタグの開始から終了まで取得するプラグインとかって何かありますか?
60:デフォルトの名無しさん
16/06/27 10:44:01.98 9t0yJm0+.net
プラグインって何かのフレームワーク使ってるの?
それともライブラリのことをプラグインって呼ぶ文化圏から来た人ってだけ?
後者ならjsoupとか使えばいいよ
前者ならフレームワーク名が分からんとなんとも言えん
61:デフォルトの名無しさん
16/06/27 11:33:23.90 zblib9mt.net
WPとかから来た人ならそれこそスクリプトてやればいいのに
Javaでスクレイピングとか悪夢だろ
62:デフォルトの名無しさん
16/06/27 11:48:42.50 AZYkKPQ8.net
>>48
そんなの + 連結でいいじゃん。定数ならコンパイラーが繋げてコードに埋め込んでくれるよ。実行時には連結しない。
63:デフォルトの名無しさん
16/06/27 14:27:50.20 c98wCF/1.net
どうしてもJavaでやるならJSoupとか使えば良いかと
64:デフォルトの名無しさん
16/06/27 15:48:06.29 EYEfo5FX.net
>>62
定数はコンパイル時に計算するのは知っていますが、読みにくくないですか?
@"hoge
foo
fuga
bar"
みたいな事出来れば読みやすいのに
65:デフォルトの名無しさん
16/06/27 16:45:03.82 +vyCfN5E.net
>>64
SQLを外部のファイルにするとかの発想がないのかよ。
66:デフォルトの名無しさん
16/06/27 17:48:39.32 egR4I6js.net
>>64
コンパイル時なんだっけ?
クラルロード時のclinitとかで分割された文字列と+で結合された文字列がそれぞれコンスタントプールに登録されるんじゃないかな?
67:デフォルトの名無しさん
16/06/27 17:54:28.50 mBcQvuRd.net
>>64
それが嫌なら他言語でやれって話になる
68:デフォルトの名無しさん
16/06/27 18:15:29.43 5ULDP5gO.net
嫌だけど下っ端だから文句言えないんですよ察しろハゲチャビン
69:デフォルトの名無しさん
16/06/27 18:19:56.20 T1BupnBB.net
まだそこまでハゲてねえし!
70:デフォルトの名無しさん
16/06/27 18:32:26.45 gnOE71DV.net
O/Rマッパーを使わないのか?
それか、Groovyで作って、Javaのクラスファイルに変換するとか
71:デフォルトの名無しさん
16/06/27 19:00:25.38 kyOx4TVT.net
>>70
ORMはすでに時代遅れ
72:デフォルトの名無しさん
16/06/27 19:13:50.32 LU7JBGHJ.net
>>71
じゃあ何使うの?
73:デフォルトの名無しさん
16/06/27 19:52:49.14 +vyCfN5E.net
>>72
RDBの知識がなさすぎる、
74:デフォルトの名無しさん
16/06/27 20:39:28.53 seVcIY3l.net
Javaスレでハゲの話すんなハゲ
75:デフォルトの名無しさん
16/06/27 20:47:54.34 rJHi4b7y.net
最近のQiitaといい、相変わらずDB周りは基地外が湧きやすいな
76:デフォルトの名無しさん
16/06/27 21:31:43.04 c4D/QExD.net
>>73
いいから何使うか答えろよ。答えられないんだろ?w
77:デフォルトの名無しさん
16/06/27 21:34:17.63 sopyMtUN.net
あれ見てると確かにSQLは人間を狂わせて有害としか言いようがない
78:デフォルトの名無しさん
16/06/27 21:36:02.98 sopyMtUN.net
でもlispほどではないかな…
毛の壁ほどではない…
79:デフォルトの名無しさん
16/06/27 21:39:59.12 T1BupnBB.net
lispは何かいけないのか?
80:デフォルトの名無しさん
16/06/27 21:40:45.68 3+B+zDkV.net
>>78
|
| 彡⌒ミ
\ (´・ω・`) また髪の話してる・・・
(| |)::::
(γ /:::::::
し \:::
\
81:デフォルトの名無しさん
16/06/27 22:25:32.49 EYEfo5FX.net
NetBeansの自動補充がウザいです
String hoge;
と打とうとすると、"hoge"まで打ったところで、"hogeString"という予測補充が出てきて、";"を入力したら"String hogeString;"と勝手になってしまいます
何とか出来ませんか?
82:デフォルトの名無しさん
16/06/27 22:26:26.57 idYH0U3Q.net
NetBeans Part7
スレリンク(tech板)
83:デフォルトの名無しさん
16/06/27 22:28:27.06 EYEfo5FX.net
NBスレで質問するので>>81は取り消します
84:デフォルトの名無しさん
16/06/27 22:57:38.98 LA+slQdh.net
SQLはStringBufferでappendする
85:デフォルトの名無しさん
16/06/27 23:01:11.27 NjjHozMJ.net
そしてSQLインジェクション脆弱性を作り込むところまでがドカタのテンプレ
86:デフォルトの名無しさん
16/06/27 23:02:28.76 NCV21ZBQ.net
SQLはPowerBuilderで
87:デフォルトの名無しさん
16/06/28 03:37:43.10 21w86nCr.net
String str = "abcdefg";
a~dまでの文字を消す方法ってありますか?
理想: str = "defg";
になればいいんですが
88:デフォルトの名無しさん
16/06/28 03:56:34.70 c2QodO+5.net
質問が意味不明だが
str.replaceAll("[a-d]", "");
str.replaceAll("^abcd", "");
89:デフォルトの名無しさん
16/06/28 06:20:28.96 v7+BHrPG.net
str = str.substring(3);
90:デフォルトの名無しさん
16/06/28 07:39:22.55 wXcaWvkq.net
>>79
かっこだらけで目がチカチカするところ
91:デフォルトの名無しさん
16/06/28 07:41:35.47 c2QodO+5.net
それはおかしい
むしろ括弧がある方が自然なのだ
髪の無いハゲが異常なように
92:デフォルトの名無しさん
16/06/28 08:34:02.72 eESar3RA.net
>>91
|
| 彡⌒ミ
\(( ;)) もう髪の話はよすんだ・・・
(| |)::::
(γ /:::::::
し \:::
\
93:デフォルトの名無しさん
16/06/28 10:25:24.02 QOGTlP/c.net
ハゲも括弧だらけもカッコ悪いよ。
94:デフォルトの名無しさん
16/06/28 11:45:24.49 oSSei7yC.net
>>93
【審議拒否】
♪
♪ ∧ ∧ ♪
♪ ∧ ∧ ・ω・)
`∧ ∧ ・ω・) )っ
( ・ω・) )っ_フ
(っ )っ_フ(/彡 ♪
(__フ(/彡 ∧∧
(/彡 ∧∧( )
∧∧( ) )
( ) ) Οノ
♪ ( ) Οノ ヽ)
⊂_Οノ ヽ)
ミ ヽ) ♪
95:デフォルトの名無しさん
16/06/28 18:01:33.73 90410Hmw.net
♪ .彡⌒ミ ♪
♪ .彡⌒ミ ・ω・)
.彡⌒ミ ・ω・) )
♪.彡⌒ミ ・ω・) )っ__フ ♪ .彡⌒ミ
彡⌒ミ. ・ω・) )っ__フ(_/ 彡 .彡⌒ミ. )
( ・ω・) )っ__フ(_/彡 .彡⌒ミ ) )
(っ )っ__フ(_/彡 彡⌒ミ.. ) ) Οノ
( __フ(_/彡 彡⌒ミ ) ) Οノ ヽ_)
(_/彡 ( ) ) Οノ 'ヽ_)
( ) Οノ 'ヽ_)
(ゝ. Οノ 'ヽ_) ♪
♪ ミ ヽ_
96:デフォルトの名無しさん
16/06/28 20:43:46.32 203MKP8O.net
int i=1_1__1________________________________________1+2_______________14_____2124_5_32;
97:デフォルトの名無しさん
16/06/28 20:45:27.18 gih/phK7.net
あのハゲほしい
あのハゲじゃわからん
98:デフォルトの名無しさん
16/06/28 20:54:08.98 vVE9Ckmd.net
減毛しましょ
そうしましょ
99:デフォルトの名無しさん
16/06/28 20:55:16.61 842o8d8c.net
>>87
eの位置までカーソルを移動してBSキーを4回押す
100:デフォルトの名無しさん
16/06/28 21:06:54.00 vVE9Ckmd.net
JDBCのConnectionって1リクエストで一つにするべきですかね?
101:デフォルトの名無しさん
16/06/28 21:18:12.82 842o8d8c.net
なぜ?
102:デフォルトの名無しさん
16/06/28 21:19:48.07 vVE9Ckmd.net
Thread staticみたいなのがあればいいのですが
どうコネクションを共有したらいいか分からなくて
PHPならstaticでよかったのですが
103:デフォルトの名無しさん
16/06/28 21:23:23.89 BMmKwpPY.net
>>102
コネクションプール
104:デフォルトの名無しさん
16/06/30 19:09:20.28 +KIY1MLw.net
javaサーブレットでWEBアプリを作っているんですが、ソケット通信ってどうやるんですか?
MainメソッドでServerSocketインスタンスを作って待ち受けるみたいなのしかないんですが、サーブレットみたいな書き方では出来ないんでしょうか?
105:デフォルトの名無しさん
16/06/30 19:28:00.72 21ramR5Z.net
>>104
サーブレットを普通に書けばHTTPのリクエストとレスポンスがソケット通信できます
106:デフォルトの名無しさん
16/06/30 19:43:33.41 7Qj6Kvn/.net
WebSocketと勘違いしてんじゃねーの
107:デフォルトの名無しさん
16/06/30 22:45:16.40 WKLq6yfE.net
馬鹿なんだろ
108:デフォルトの名無しさん
16/07/01 02:41:57.24 fBj5CWQI.net
>>104
もうちょっと具体的に何やりたいか書け
109:デフォルトの名無しさん
16/07/01 03:20:37.36 XU5YMvRC.net
HTTPクライアントとは別の場所に別途コネクション持ちたいって事?
110:デフォルトの名無しさん
16/07/01 03:40:04.52 KHjDKgBG.net
JSPはHTMLタグ中にJavaのソースが書き込まれていますが、HTMLを表示する度にコンパイルされているんですか?
111:デフォルトの名無しさん
16/07/01 03:57:14.51 XU5YMvRC.net
JSPの事は全然知らんけど、サーバースクリプトって大体初回起動時にコンパイルして
その結果をどこぞかに保存しとくもんじゃないの?
112:デフォルトの名無しさん
16/07/01 08:35:15.56 fBj5CWQI.net
毎回やってたら遅くてしょうがないと思うが
113:デフォルトの名無しさん
16/07/01 10:55:35.36 UVPGYY36.net
今からJSP勉強するの?
Java Dayで、JSPは将来廃止されるって講演者が言ってたが。
114:デフォルトの名無しさん
16/07/01 11:08:09.23 CKWFVnx8.net
>>113
将来的にはいまのJava EEの仕様を変えたいからでしょ?
Spring等の有名なフレームワークだってJSPを使ってるんだから、そうとう先のことだな。
115:デフォルトの名無しさん
16/07/01 11:12:11.82 SVWZVKVF.net
Spring自体が時代遅れな気がする…
だが、それを言ってしまうと
そもそもJavaが時代遅れ過ぎるって話になってしまうのだが…
116:デフォルトの名無しさん
16/07/01 11:15:35.90 CKWFVnx8.net
>>115
そうだよ、Java自体が無駄に冗長で古い。
とにかくJavaで無理やりやろうとしてJava EEがめちゃくちゃになってる。
117:デフォルトの名無しさん
16/07/01 11:18:13.89 0AfJO5OC.net
日本では50年経っても動いてるから安心しろ
118:デフォルトの名無しさん
16/07/01 12:00:23.22 U95fC87K.net
>>114
SpringでJSPは実質使われないだろ
thymeleafがデファクトじゃない
119:デフォルトの名無しさん
16/07/01 12:20:41.93 9rohvPAn.net
>>111-112
なるほど、初回の結果が保存されてるんですね
JavaでJavaScriptみたいに一々処理してたら変だなと思いました
>>113
webアプリ作りたいのでサーブレットから順に勉強してます
120:デフォルトの名無しさん
16/07/01 12:22:21.37 CKWFVnx8.net
>>118
どっちにしろあまり問題の解決になってない。
121:デフォルトの名無しさん
16/07/01 12:23:51.30 0AfJO5OC.net
謙虚な原元監督と違って知らなかったとは言わない
口が裂けても言えない
122:デフォルトの名無しさん
16/07/01 12:38:41.48 CKWFVnx8.net
>>118
自分の職場ではそうだろうけど、基本はJSPだよ。
123:デフォルトの名無しさん
16/07/01 12:41:41.73 CKWFVnx8.net
Java EEの悪いところはいろんなものを作っては捨て、作っては捨て標準がなく、構成が自由すぎること。
124:デフォルトの名無しさん
16/07/01 12:59:44.86 IeMidVZS.net
「平日なのに元気ですねえ。その元気の秘訣は?」
「掲示板で調子こいた発言をして、突っ込みを食らうことですね
頭に血が上って、元気になれますよ」
125:デフォルトの名無しさん
16/07/01 13:04:40.50 CKWFVnx8.net
>>124
元気ではないが無職のため
126:デフォルトの名無しさん
16/07/01 13:08:20.20 SE0g3mIr.net
2chやってると病状が悪化するぞ
127:デフォルトの名無しさん
16/07/01 13:12:57.10 CKWFVnx8.net
>>126
病気ではないが。
これからオナニーして寝る。
128:デフォルトの名無しさん
16/07/01 20:10:06.48 KfAFY3uH.net
String regex = "(^|\\r\\n)(\\d+)($|\\r\\n)";
この正規表現で行頭(数字だけの行)がマッチしないのですがなぜでしょうか?
129:デフォルトの名無しさん
16/07/01 20:24:03.27 6RfZi5Y6.net
"^\\d+$"じゃだめなの?
130:デフォルトの名無しさん
16/07/01 21:24:17.30 l06M3c9j.net
java全くわかんないのにjavaビルドしなきゃいけなくなって困ってるんだけど
ここで相談してもおけ?氏ね?
131:デフォルトの名無しさん
16/07/01 21:30:03.44 6RfZi5Y6.net
内容によってはこっちの方が良いかも
スレリンク(tech板)
132:デフォルトの名無しさん
16/07/01 21:31:56.69 l06M3c9j.net
>>131
サンクス
そっちぽい。
初心者スレ見逃してました。
行ってみま
133:デフォルトの名無しさん
16/07/01 23:17:45.36 6RfZi5Y6.net
>>132
酒飲んでんじゃねえよw
134:デフォルトの名無しさん
16/07/02 22:29:08.09 tSaRPD1l.net
IDEスレに行けと言われたのでIDEスレに行ったのですが誰も来てくれないので助けて下さい
194 :デフォルトの名無しさん :2016/06/27(月) 23:06:42.31 ID:EYEfo5FX
NetBeansの自動補充がウザいです
String hoge;
と打とうとすると、"hoge"まで打ったところで、"hogeString"という予測補充が出てきて、";"を入力したら"String hogeString;"と勝手になってしまいます
何とか出来ませんか?
135:デフォルトの名無しさん
16/07/03 18:17:26.84 sJkODTKV.net
IDEらっきょ
136:デフォルトの名無しさん
16/07/03 20:30:41.40 Lq5DuTjn.net
>>134
コード補完使いたくない時はescapeキーで補完ウィンドウ閉じればいいんじゃないの?
137:デフォルトの名無しさん
16/07/03 22:07:22.32 S5DfoGdP.net
>>136
毎回ですか?
hogeTypeのTypeのみ無効にしたいのですが
138:デフォルトの名無しさん
16/07/03 23:02:49.43 S5DfoGdP.net
あとjavaってエイリアスないんですか?
名前被りの完全修飾名指定がとても面倒です
public com.example.hoge.Foo Hoge(){
return new com.example.hoge.Foo();
}
みたいな事になると\入りの正規表現"\\\\"以上にキモイです
139:デフォルトの名無しさん
16/07/03 23:05:51.15 tt33zjuk.net
>>138
そもそもなんでディレクトリ名までかぶるのか?
140:デフォルトの名無しさん
16/07/03 23:06:20.78 S5DfoGdP.net
あとjavaってreplaceAllみたいな正規表現メソッド多すぎませんか?
このようなメソッドの非正規バージョンないんでしょうか?Stringクラスの文字列操作関連正規が多すぎると思います
正規は遅いので非正規バージョンが欲しいです
141:デフォルトの名無しさん
16/07/03 23:07:26.57 tt33zjuk.net
importを知らないとかそんなレベル?
142:デフォルトの名無しさん
16/07/03 23:08:13.62 tt33zjuk.net
>>140
ただのキチガイ?
143:デフォルトの名無しさん
16/07/03 23:10:15.42 S5DfoGdP.net
>>141
いやいやいやいや
importしてもクラス名被ったら色々面倒やん
例えばjava.sql.Dateとjava.util.Dateを1ファイルで同時に使おうとすると全部完全修飾名を使わないといけなくなる
だから例えば
java.sql.Date as SQLDate;
みたいな事が出来れば、完全修飾名で書かないでいいから楽になる
144:デフォルトの名無しさん
16/07/03 23:13:51.76 S5DfoGdP.net
C#はエイリアスもあるし、@リテアルあるから\入り正規表現・ファイル名指定etc...も楽だし、非正規メソッドもある
145:デフォルトの名無しさん
16/07/03 23:28:15.44 Zxwt96wB.net
disりたかっただけ
146:デフォルトの名無しさん
16/07/03 23:34:38.41 S5DfoGdP.net
>>145
そうじゃなくて、結局エイリアスみたいなのはないの?
javaerはこういう時全部真面目に完全修飾名で書いてる?
147:デフォルトの名無しさん
16/07/03 23:52:05.71 BbdX03Na.net
Groovyでは、import as で、クラスに別名を付けられる
148:デフォルトの名無しさん
16/07/03 23:56:24.46 tt33zjuk.net
>>143
むしろ完全修飾の方が分かりやすいけどな。
大量のimport文が書かれていると、どのクラスなのか分かりにくい。
149:デフォルトの名無しさん
16/07/03 23:57:41.50 qk7lGSjH.net
>>148
できるかできないかを聞かれてるんじゃないの?
150:デフォルトの名無しさん
16/07/04 00:02:08.66 iklULqqD.net
>>148
まだjava標準APIは短いほうだからマシだけど、ドメイン名からのパッケージは長すぎる
せめて、com.example.hoge.Fooって言うクラスなら
hoge.Fooって言う別名つけたい
これなら分かりにくくなることも少ないだろうし
151:デフォルトの名無しさん
16/07/04 00:04:46.80 k2oVIHK0.net
>>150
自分でラッピングしてしまえば?
152:デフォルトの名無しさん
16/07/04 00:06:12.33 iklULqqD.net
>>151
空の継承でか
つまりasみたいな簡単エイリアスはないって事でOK?
この感じだとなさそうだけど
153:デフォルトの名無しさん
16/07/04 00:07:40.48 ZgWk5uF3.net
>>151
できるかできないかを聞かれてるんじゃないの?
154:デフォルトの名無しさん
16/07/04 00:15:12.04 nGbZrq1o.net
eclipseだと名前被ってたら勝手に完全修飾名にしてくれるからどうでもいいわ
155:デフォルトの名無しさん
16/07/04 00:16:10.16 iklULqqD.net
>>154
NetBeansよりエクリプスおすすめ?
皆どっち使ってるの?
156:デフォルトの名無しさん
16/07/04 00:17:06.30 iklULqqD.net
追記:GUIエディタ使う予定なし
157:デフォルトの名無しさん
16/07/04 02:04:57.17 oVEQVDtG.net
俺Eclipseしか知らない
158:デフォルトの名無しさん
16/07/04 03:15:06.68 Tw9ula4I.net
できるかできないかを聞かれてるんだろ?
できないよ
絶望したか?
さあ死ね
すぐ死ね
骨も残さず朽ちて死ね
159:デフォルトの名無しさん
16/07/04 09:02:34.40 fBTRdjFn.net
完全修飾名使うのなんて業務で毎日書いててもここ数年で1回あったかないかだからこまけーことは気にすんな。
160:デフォルトの名無しさん
16/07/04 09:53:45.15 FRFi5+0z.net
apache含む3rdパーティのクラスがjava標準クラスと同じ時って悪意や傲慢さを感じるけどしょうがない
でもIDEの補完機能使えば不便さもある程度軽減されるし実害は無いかな
>>155
NetBeans使った事ないけどeclipseよりIntelliJ IDEAがオススメ
161:デフォルトの名無しさん
16/07/04 10:32:53.49 L56lshZw.net
java.sql.Dateについては完全に名前の設計ミスだけど
他はそうそう被らないから大丈夫よ
162:デフォルトの名無しさん
16/07/04 11:57:55.20 c9KoTnVs.net
自動で追加してくれるからimportを書くことがないし
勝手に補完するので極論importなくても困らない
いまどきテガッキーとか自分でjavacしてるやつが居るわけない
163:デフォルトの名無しさん
16/07/04 13:20:47.03 sBDRpGAx.net
>>162
いまどきっていつ?
昔から統合開発環境はあるけど。
164:デフォルトの名無しさん
16/07/04 15:08:30.33 LCA6tFum.net
AWTのListは許さない
165:デフォルトの名無しさん
16/07/04 15:53:24.83 iklULqqD.net
>>158
絶望したよ
>>159
滅多にないのか
>>160
初めて聞くIDEだな
ちょっとggってみる
>>161
たまたまだったのね
今回は黙って全部書く
>>162
でもあまり長いと読みにくいから気になってた
今回は諦めるけど
>>163
昔のPCは重かったからIDEまともに使えなかったとかじゃない?
よく知らないけど
>>164
Dateより酷いよな
DateよりListの方が多用するのに
166:デフォルトの名無しさん
16/07/04 17:19:44.60 ihcXzko5.net
もうjava.awt.Listを使う事はめったにないから
import java.awt.*; みたいにオンデマンドインポートしたとかでなけりゃ特に害はないけどね。
167:デフォルトの名無しさん
16/07/04 17:22:05.41 sBDRpGAx.net
Javaは古いからいまの感覚だといろいろ欠点があるのよ。
168:デフォルトの名無しさん
16/07/04 17:22:53.84 iklULqqD.net
*インポートしか使わない
java.awt.List.*がどんなクラスかは知らんが面倒だった
169:デフォルトの名無しさん
16/07/04 17:41:47.55 ihcXzko5.net
10年前からインポートの管理はIDE任せだから
手書きでオンデマンドインポートしてるんでもなければ
まず引っかからないと思うがなぁ……
170:デフォルトの名無しさん
16/07/04 18:16:37.84 ztdIczDd.net
IDEだからこそ邪魔なんだよ
補完の候補に出てきやがる
171:デフォルトの名無しさん
16/07/04 19:14:04.25 +REy2Mkj.net
アホ
172:デフォルトの名無しさん
16/07/04 19:19:29.98 ihcXzko5.net
>>170
いまどきのIDEなら設定で補完対象から外せるようになってると思うが
少なくともEclipseではできるから他でもできるもんだとばかり。
173:デフォルトの名無しさん
16/07/04 21:02:41.65 /A9poSsO.net
>>164
何で?
174:デフォルトの名無しさん
16/07/04 23:34:20.26 xn2Up26Y.net
たとえば java.util.Listなんか数え切れないほど使うんだから今更java.awt.Listと間違えることなんかないと思うんだけど
175:デフォルトの名無しさん
16/07/05 00:13:50.27 mgy34Km5.net
>>174
AWTを使っていると紛らわしいんじゃないの?
176:デフォルトの名無しさん
16/07/05 02:15:25.77 Ou0Fw1LZ.net
awt使わなきゃいいんじゃないの?
177:デフォルトの名無しさん
16/07/05 02:39:54.31 SsnSZfTb.net
JLabelを用いて画像上(image 320×240)に
文字1を左上に
文字2を右下に表示するにはどうすればいいですか?
178:デフォルトの名無しさん
16/07/05 23:45:44.81 HWF7v1+f.net
Oracle、Java EEから手を引く可能性も
URLリンク(news.mynavi.jp)
これマジなんか?
179:デフォルトの名無しさん
16/07/06 08:35:05.72 gBn7auOK.net
>>178
だってJava EEは迷走してるでしょうが。
180:デフォルトの名無しさん
16/07/06 08:45:12.55 YqQEkOqo.net
JavaEEが必要とされたことは過去に一度も無いと思うよ。現在は言わずもがな。
181:デフォルトの名無しさん
16/07/06 08:59:01.75 GjihuLkP.net
Java から手を引いてほしいな
182:デフォルトの名無しさん
16/07/06 09:09:27.92 gBn7auOK.net
>>181
誰が?
もしかしてオラクル社のこと?
筋違いのこと言ってる?
183:デフォルトの名無しさん
16/07/06 09:22:18.25 dLNMjsXn.net
ただの可能性だろ
184:デフォルトの名無しさん
16/07/06 09:52:57.55 aYInvTWe.net
>Oracle、Java EEから手を引く可能性も
>Java から手を引いてほしいな
185:デフォルトの名無しさん
16/07/06 09:54:13.44 gBn7auOK.net
可能性というかオラクル社のJava EEを作る可能性は高い。
ただしそのJava EEもあまりやる気がないので、移行者のために残すんだろうな。
Java EEみたいにまわりくどいものは誰だって捨てたいよ。
186:デフォルトの名無しさん
16/07/06 13:39:41.01 I/vkiXj+.net
JavaEEがフォローされなくなったら
Java系のwebフレームワークも使われなくなっていく可能性があるって事です?
187:デフォルトの名無しさん
16/07/06 15:12:05.86 RXjbxQL6.net
ee捨てるってことはweblogicも捨てるんですよね…
寺田くん!glassfish
188:どころじゃないじゃん! weblogicも駄目そうじゃん!
189:デフォルトの名無しさん
16/07/06 15:29:56.19 b9OWXtI8.net
寺田くんはMSに転職しましたw
190:デフォルトの名無しさん
16/07/06 16:13:37.27 aYInvTWe.net
だからそういう動きを見て憶測が流れたってことじゃん
191:デフォルトの名無しさん
16/07/06 18:40:16.77 gBn7auOK.net
オラクル社はOracle Application Server 10gもあっさり捨てたからな。
192:デフォルトの名無しさん
16/07/06 19:42:09.82 F/jjpGqC.net
売れてなかったからだろ
193:デフォルトの名無しさん
16/07/06 23:40:03.52 HyKnKjqBY
夜遅くにごめんなさい。
下記のプログラムにString型の引数 MOJIに"a"を入れて、10倍に返すメソッドを作りたいんだけど、MOJIの実引数をどこに書けばいいかわからんのです。
public static voidの下に実引数入れていいの?
URLリンク(ideone.com)
194:デフォルトの名無しさん
16/07/07 05:25:50.42 SP2SOw1H.net
寺田君はpayara押し
URLリンク(yoshio3.com)
195:デフォルトの名無しさん
16/07/07 13:35:27.90 nqkyMiPI.net
>>193
単語が並んでいるだけで、どこまでわかっているのか不明な人だな。
196:デフォルトの名無しさん
16/07/07 14:23:27.77 8n3EIzQ6.net
エバンジェリストの言葉に耳を傾けるべきではない
単語が違うだけでその実はただのセールスマンやねん
197:デフォルトの名無しさん
16/07/07 14:26:09.20 n4+80lrw.net
広報だからいいじゃん
198:デフォルトの名無しさん
16/07/07 14:26:41.93 Vwf/dNMw.net
spring-boot最強伝説の始まりや
199:デフォルトの名無しさん
16/07/07 14:31:21.94 n4+80lrw.net
JavaEE8はまだかなー、チンチン
200:デフォルトの名無しさん
16/07/08 23:14:27.25 oeqNGrjL.net
Oracle、Java EEから手を引く可能性も
URLリンク(s.news.mynavi.jp)
201:デフォルトの名無しさん
16/07/08 23:47:36.63 oeqNGrjL.net
97 仕様書無しさん 2016/07/08(金) 23:45:00.35
Java EEの開発が停滞?--オラクルの不透明な態度にコミュニティーが不信感
URLリンク(japan.zdnet.com)
202:デフォルトの名無しさん
16/07/09 05:41:51.84 XnP9l2c2.net
以上、スレチでした
203:デフォルトの名無しさん
16/07/09 16:35:23.42 raD5+YUO.net
javaのバーチャルマシンを独自に作ったら
オラクルから著作権違反で訴えられますか?
java標準に準拠して独自に拡張するつもりはありませんけど。
ちゃんとライセンスを受けないと作れないんですかね?
204:デフォルトの名無しさん
16/07/09 16:38:56.83 I/ga01ar.net
>>202
はあ?
205:デフォルトの名無しさん
16/07/09 16:51:15.96 raD5+YUO.net
>>203
はあ?
206:デフォルトの名無しさん
16/07/09 16:54:32.55 zLjepEFC.net
その程度の知能で作れるわけがないのだから
天が落ちてくるような心配をする必要はなかろう
207:デフォルトの名無しさん
16/07/09 17:02:44.79 I/ga01ar.net
仕様どおりのJVMを作って使用するのがあたりまえのJavaの世界で何を言ってるの?
208:デフォルトの名無しさん
16/07/09 19:45:25.19 rl7Tc7kH.net
基板からPC作るの趣味の人もいるんだから個人が趣味で何やっても大丈夫だろう
むしろ個人でVMなんて作って有名になったら会社の方からスカウトが来そうw
209:デフォルトの名無しさん
16/07/09 20:14:35.22 raD5+YUO.net
馬鹿ばっか
210:デフォルトの名無しさん
16/07/09 20:23:34.31 dPEI8/bi.net
自己紹介乙
211:デフォルトの名無しさん
16/07/09 20:43:42.78 rl7Tc7kH.net
むしろなんでJVMを独自実装する必要性を感じるのかが知りたいな
趣味・学習以外の目的で
212:デフォルトの名無しさん
16/07/09 20:57:01.45 CG0sDuR4.net
AndroidのJavaVMは独自実装だよな
213:デフォルトの名無しさん
16/07/09 22:02:52.72 I/ga01ar.net
>>211
それが仕様にのっとっていないなからオラクル社からクレームがついている。
214:デフォルトの名無しさん
16/07/09 22:56:02.65 +eXrGRup.net
>>212
仕様に則ってないからじゃなくて、
Oracle神にお布施してJavaとして認めていただく正式なプロセスを踏んでないから
215:デフォルトの名無しさん
16/07/09 22:58:16.13 zLjepEFC.net
建て前は建て前だよな
216:デフォルトの名無しさん
16/07/09 23:01:19.88 I/ga01ar.net
>>213
それはGoogleがJavaもどきを作って使っているのが悪いのであって、オラクル社を悪く言うのは筋違い。
217:デフォルトの名無しさん
16/07/09 23:38:45.19 My2a4Ewi.net
Monoを認めるMSは有能
218:デフォルトの名無しさん
16/07/09 23:55:09.74 fotlBSyc.net
MIDPとかDoJaとかに比べたら遥かにまともなJavaなんだよなあ
219:デフォルトの名無しさん
16/07/11 02:33:12.40 QmGEIZzQ.net
JavaをGoogleに任せてしまったほうがよくね?
オラクルが握っていても誰も嬉しくないでしょ
220:デフォルトの名無しさん
16/07/11 02:52:26.96 ci5xiTk9.net
100%そんな未来は訪れないと理解している上で、
理想的にはApacheFoundationの所有物になって欲しい。
同意しない奴いないだろ。
Oracle側のステークホルダー以外。
221:デフォルトの名無しさん
16/07/11 15:45:52.33 j8SCljwM.net
>>218
馬鹿っぽい発言
222:デフォルトの名無しさん
16/07/11 16:18:04.90 PwCoVh/2.net
C#がもう少しマルチプラットフォームに積極的だったらjavaはとっくに消えてたと思う
223:デフォルトの名無しさん
16/07/11 20:15:44.88 BOCVQw3X.net
PL/I が COBOL を駆逐できなかったからそれはないと思う
世の中には新しい言語を覚えるのを異様に嫌う人がいっぱいいる
224:デフォルトの名無しさん
16/07/11 21:43:21.41 K+QqD/bm.net
>>220
すまんなw
225:デフォルトの名無しさん
16/07/11 22:12:09.00 ljyA2tXt.net
Googleは言語のセンス無いし、土方ワールドを全く理解してないから、
Googleが握ったりしたら無茶苦茶になるだろうな
まあ順当にいけばIBMだろ
226:デフォルトの名無しさん
16/07/11 22:19:02.80 RFLETvWG.net
ウルトラCでAmazonなんか面白いかもね
Java大好きな会社だしAWSでビジネス分野のノウハウも実績も申し分ない
227:デフォルトの名無しさん
16/07/11 22:26:21.80 K+QqD/bm.net
やっぱSunに戻るべきだな
Sunしかないよ
>>224
James Arthur Goslingはgooglenに移ったんだなぁ
などといいつつあっという間に退社してるもようw
228:デフォルトの名無しさん
16/07/11 23:22:50.27 xFg/06y6.net
この話題夢があって好き。
俺はIBMに一票。
229:デフォルトの名無しさん
16/07/11 23:34:16.10 nLBMaq1/.net
ソフト、WEB開発
Google>MS
言語、OSなど低レベル開発
Google<MS
ってイメージ
altJSもMSのTypeScriptの方が普及しているし
ただWEBは絶対Googleの方が強い。MS社員も検索エンジンGoogle使っているみたいだし
230:デフォルトの名無しさん
16/07/12 00:39:40.17 5+z5yBEJ.net
>>226
サン・マイクロシステムズという会社は存在しません。
231:デフォルトの名無しさん
16/07/12 00:40:56.98 5+z5yBEJ.net
GoogleはOSを作るつもりがもともとないからな。
理由は儲からないから。
232:デフォルトの名無しさん
16/07/12 00:47:00.30 UmLu+P69.net
>>202
Javaを名乗るにはコンパチビリティを保証する必要があって、Oracleから提供されTCKっていうテストツールキットを全件パスした上で、Javaのロゴ申請して受諾してもらえると初めてJVMと名乗っていい
JVMの仕様は公開されてるので作るのは問題ない、Javaと名乗らなければ公開するのも問題ない
233:デフォルトの名無しさん
16/07/12 00:48:44.42 UmLu+P69.net
>>217
それ、APIのセンスの話でしょ?
Androidの問題はコンパチビリティを損なったこと
234:デフォルトの名無しさん
16/07/12 08:16:02.57 5gnI1m0l.net
ウルトラCならMSだろ
235:デフォルトの名無しさん
16/07/12 10:28:21.44 FUzhHF3G.net
>>229
Oracle Americaに社名変更した後、Oracle本体に吸収されたんだっけ?
236:デフォルトの名無しさん
16/07/12 15:28:13.64 rPUgkwxt.net
>>230
単体では儲からないがそれを通して商売して儲けることはできる(とAppleを見て思って)AndroidやChromeOS作ったんじゃないかな。
237:デフォルトの名無しさん
16/07/12 15:39:47.69 jtunC1bE.net
>>234
横だけど、そうだよ
238:デフォルトの名無しさん
16/07/12 15:56:50.86 yOAU1/j5.net
>>235
広告を表示するメディアが特定の企業に独占されると儲けが激減する可能性があるので
それを妨害するのが目的
239:デフォルトの名無しさん
16/07/12 18:21:33.96 Y+yvH8se.net
サンなくなってたのか…
なんか空しいわ(´・ω・`)
240:デフォルトの名無しさん
16/07/12 19:19:54.12 sxWdE/SU.net
話をぶったぎってすまんけど、画面のボタンを押したら、画面はそのままの状態でDB上のテーブルtruncateだけしたいんだけど、可能なのかな?
色々調べてみたいんだけど、DBのtruncateはサーバー処理だからサーバーにリクエストを送る都合上ボタンはsubmitでなければならないし、
submitにすると画面遷移が発生するから、結論として実現は不可であってる?
241:デフォルトの名無しさん
16/07/12 20:51:04.22 CgeREjPy.net
そんなわけねえだろ
242:デフォルトの名無しさん
16/07/12 21:25:09.23 Y3q+0h6K.net
AJAXでやれば
243:デフォルトの名無しさん
16/07/13 11:56:05.46 V+OTnk77.net
そもそもJavaスレなんだがここ...
244:デフォルトの名無しさん
16/07/13 12:37:28.43 mH7eFo+U.net
>>239
とりあえずJavaScriptをよーく調べてみろ。
245:デフォルトの名無しさん
16/07/13 15:51:38.01 NtD73vYA.net
>>242
Async JAva XMLって考え方も出来ないことはないからOK
246:デフォルトの名無しさん
16/07/13 20:13:34.94 YEueOne6.net
>>242
それはjavaに限らず質問スレあるあるだよ
その切り分けが出来る奴なら自力で解決してるだろう、という
247:デフォルトの名無しさん
16/07/14 00:55:38.32 iUuCyvzE.net
サーバーサイドがJavaなんじゃないの?
248:デフォルトの名無しさん
16/07/14 07:34:35.01 j58AZd5+.net
>>246
現在はクライアントのJavaの需要が少ないのと、初めはクライアントアプリケーションの本が多かったせいでわざわざ「サーバーサイド」と文言が入っているんだよ。
249:デフォルトの名無しさん
16/07/14 21:24:22.15 xSl/YNjm.net
とりあえず唐揚げにレモンかけとくわ
250:デフォルトの名無しさん
16/07/14 21:27:20.08 2jLF3WlM.net
とりあえずハゲにカツラつけとくわ
251:デフォルトの名無しさん
16/07/14 21:39:33.34 Giu4+BW2.net
とりあえずカツラにハゲつけとくわ
252:デフォルトの名無しさん
16/07/14 22:10:51.53 6GtBM3Ju.net
DBで一回しか使わないから事前コンパイルの速度的メリットがない
入れるデータは数値のみ
の場合、ps使ってる?それともクエリに直接変数を連結してる?
文字列じゃないと挿入攻撃の心配もなさそうだけど
253:デフォルトの名無しさん
16/07/15 02:48:33.14 hAjk6tEM.net
自分の意見に自信が持てないために質問の体を取って同意を求めているだけという
知恵袋にありがちな女の腐ったような質問
本人としては同意されるだろうと思っているので、否定すると噛みついてくる
べた褒めするか無視が正解
254:デフォルトの名無しさん
16/07/15 09:14:57.61 px5v74fr.net
throw NullHairExcep
255:tion("毛がありません");
256:デフォルトの名無しさん
16/07/15 09:15:26.24 px5v74fr.net
new 忘れた
257:デフォルトの名無しさん
16/07/15 11:45:25.89 mCkhiGi0.net
newなんて必要ない
もう生えることなんてないのだから....
258:デフォルトの名無しさん
16/07/15 18:52:35.22 x5jUIEPA.net
また髪の話してる(´・ω・`)
259:デフォルトの名無しさん
16/07/16 01:46:15.06 I55Ensmv.net
public class Hair {
private final int n = 0;
public int get() {
return n;
}
}
260:デフォルトの名無しさん
16/07/16 11:32:29.37 3A+r0QSz.net
これでいい
public class Hair {
Hair() {
throw new NullHairException("また(ry");
}
}
261:デフォルトの名無しさん
16/07/16 15:17:03.73 OR/oafOw.net
if(iter.next().isHage()){ iter.remove(); } //ハゲはGC対象
262:デフォルトの名無しさん
16/07/16 17:50:11.38 UnF3RWZR.net
Stream.iterate("", f -> "ハゲたくない ").forEach(System.out::print);
263:デフォルトの名無しさん
16/07/16 21:24:26.07 4Ti8chrK.net
おまえらホントに毛がないな
264:デフォルトの名無しさん
16/07/16 22:22:45.07 qeOFdnbx.net
昔の中国の指導者で今も英雄視されている人の名前。
毛
265:デフォルトの名無しさん
16/07/17 00:24:12.52 LkThn5o4.net
毛沢山でしょ?
ってかNullHairExceptionってぬるぬるしていて気持ち悪いハゲはすでに例外対象ってわけか...
266:デフォルトの名無しさん
16/07/17 19:31:42.32 uCsyhygF.net
Java SE 8 Update 101/102キター
と思ったら、まだダウンロードできなかった。7/19日からのようだ。
267:デフォルトの名無しさん
16/07/17 19:43:12.88 5jfUNNQz.net
キタ-って言うほどの新機能あった?
268:デフォルトの名無しさん
16/07/17 19:57:44.37 71dbOocY.net
すいません質問です。
static なメンバ変数をsetメソッドで取り出したい時どんな表記になるのでしょうか?
いつもはstaticではなくprivateなどだったので this.~=~;で済んだのですが・・・
269:デフォルトの名無しさん
16/07/17 20:45:50.34 LkThn5o4.net
メソッドをstaticにしてthis消してやれ
270:デフォルトの名無しさん
16/07/17 23:40:50.59 k/1DyXcU.net
>>265
数字部分は新機能ではなくバグを直したバージョン違いにすぎない。
271:デフォルトの名無しさん
16/07/18 01:06:56.48 YFf7sZav.net
>>266
クラス名.変数名 でできる。
URLリンク(ideone.com)
272:デフォルトの名無しさん
16/07/18 03:33:49.77 Apma7W1I.net
最近プログラミングを勉強し始めたのですが
String name = new java.util.Scanner(System.in).nextLine();
これをEclipseに打ち込んでみたところリソースリークが閉じられることはありませんと出ました
どこか間違ってるところがあるのでしょうか?
273:デフォルトの名無しさん
16/07/18 03:35:32.79 NSN6Nh8+.net
>>270
Eclipseのバグだよ
Scannerのcloseが呼ばれてないってことだろうけど
呼ぶべきじゃないし気になくていい
274:デフォルトの名無しさん
16/07/18 04:00:50.85 Apma7W1I.net
>>271
ありがとうございます!そうだったのか…では無視して勉強を続けよう
275:デフォルトの名無しさん
16/07/18 21:21:22.36 5Zz+1tfq.net
ajax,iqueryで開発を行おうとしています。
DBを更新させるJavaクラス(クラス名:time_up)を起動させるボタン(A_button)を
JSP上に設置する場合、どのようなコードになりますでしょうか。
色々サイトを見ているのですが、なかなか参考にできるサイトがなく
困っています。。。
276:デフォルトの名無しさん
16/07/18 22:49:01.18 RK9Gg1KK.net
>>273
JAX-RSでAPI作って$.ajaxで呼ぶ
277:デフォルトの名無しさん
16/07/19 03:19:05.23 QT0dUlSr.net
>>273
お前はまずJavaとWebページ周りをちゃんと最初から勉強し直せ
というか最近なんだこのWeb周りの質問...同じような質問ばっかりで頭おかしいんじゃねぇの
278:デフォルトの名無しさん
16/07/19 11:10:57.93 gUBpvS96.net
>>273
>なかなか参考にできるサイトがなく
その原因は物事を分割して考えることに慣れていないため
ボタン(A_button)をJSP上に設置 → htmlの知識
ajax → http, javascriptの知識
iquery → html, javascriptの知識
DBを更新させるJavaクラス → servlet, javaの知識
html上のボタン → イベントハンドラ(jquery)
→ ajax → (http) → servlet → DB操作クラス等
各段階が分かれば出来るようになる
279:デフォルトの名無しさん
16/07/19 14:49:41.29 LBsotrM5.net
iqueryはjqueryのこと?
280:デフォルトの名無しさん
16/07/19 20:06:05.61 nezbHtVD.net
var gbfToolFpsTarget= [];
var gbfToolFpsSetting= 0;
fpsの変更をしたいのですがどうしたらいいんですか?
0を24とかにして上書き保存したけど反映されません。
>それ宣言してるだけだからな
>実際の値はlocalstorageから読んでる
このようなヒントもらいましたがサッパリです
281:デフォルトの名無しさん
16/07/19 20:14:24.58 QT0dUlSr.net
. ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(;´Д`)< すみませんすぐどかしますんで
-=≡ / ヽ \______________
. /| | |. |
-=≡ /. \ヽ/\\_
/ ヽ⌒)==ヽ_)= ∧_∧
-= / /⌒\.\ || || (´・ω・`) ←>>278
/ / > ) || || ( つ旦O
/ / / /_||_ || と_)_) _.
し' (_つ ̄(_)) ̄ (.)) ̄ (_)) ̄(.))
oノ
| 三
_,,..-―'"⌒"~⌒"~ ゙゙̄"'''ョ ミ
゙~,,,....-=-‐√"゙゙T"~ ̄Y"゙=ミ L____
T | l,_,,/\ ,,/l | ゚ ゚
,.-r '"l\,,j / |/ L,,,/
,,/|,/\,/ _,|\_,i_,,,/ /
_V\ ,,/\,| ,,∧,,|_/
┼ヽ -|r‐、. レ |
d⌒) ./| _ノ __ノ
282:デフォルトの名無しさん
16/07/19 20:26:40.29 prMQQOa8.net
やはりJavaではないよなあ・・・
283:デフォルトの名無しさん
16/07/20 01:24:19.83 w1Qip3wH.net
やはりJavaScriptであったか
284:デフォルトの名無しさん
16/07/20 01:47:30.41 ZXsdOgFr.net
ちょっと古めの本なんだけどJavaゲームプログラミングアルゴリズムとフレームワーク
っての知ってる?
第4章でInputEventTinyクラスのオブジェクトをキューに入れると思うんだけど
InputEventTinyクラスのコンストラクタの引数がクラス定義だと全部intなんだけど
生成するときはmouseeventのgetid()を入れてるんだ
これってgetid()の戻り値がint型ってこと?でもイベントハンドラのときgetIdは
フィールドで返されてるよな。。。
285:デフォルトの名無しさん
16/07/20 02:45:15.40 kIxuu+IM.net
getid()の戻り値が、intと異なる型でも、
必ず、intの範囲内にあることがわかっているから、intにキャストするのかも
286:デフォルトの名無しさん
16/07/20 03:04:18.02 kIxuu+IM.net
>>273
「スッキリわかる サーブレット&JSP入門」という本で、基礎から勉強する
287:デフォルトの名無しさん
16/07/20 10:25:30.68 ZXsdOgFr.net
>>283
どうやらそうらしい
フィールドがそれぞれ固有のint型のidを持ってるぽいから引数がintなときは
getidでもintが渡される
288:デフォルトの名無しさん
16/07/22 11:58:40.74 LRtdFfUy.net
入門書がだいたい終わった初心者です。
これからどのうような勉強をしていけばプログラムは上達するのでしょうか?
289:デフォルトの名無しさん
16/07/22 12:44:09.39 XNSGg/3h.net
>>286
んなもん自分の作りたいもん作ってりゃいいじゃん
290:デフォルトの名無しさん
16/07/22 13:31:25.49 j+h3vvXU.net
>>286
問題形式のアルゴリズムの教科書見ながら自分なりのプログラム書いてみるのがいいと思う
眠くなるならやらない方がいいけど
291:デフォルトの名無しさん
16/07/22 13:53:42.27 LRtdFfUy.net
ありがとうございます
画面に何か表示してみたいのでGUIのAWTをやってみようと思います。
292:デフォルトの名無しさん
16/07/23 22:47:01.27 /40JlN80.net
java8.0でucanaccessを使ってDBに接続しinsert文を実行したところ、
UCAExc:::3.0.6 Cannot write indexes of this type due to unsupported collating sort order SortOrder[1041(0)] for text index (Db=DB.accdb;Table=NAME;Index=0)
というエラーが発生し、SQLが実行できず困っています。
このエラーってそもそもどういう意味なのでしょうか。
DBへの接続については下の通り記述して、デバッグにて接続していることを確認済みです。
String url = "jdbc:ucanaccess://C:/Users/DB.accdb";
String user = "";
String pass = "";
//データベースに接続
Connection con = DriverManager.getConnection(url, user, pass);
Statement statement = con.createStatement();
insert文も単独でSQLを実行し、正しく挿入されることを確認しています。
insertは
statement.executeUpdate(insert);
にて実行し、ここで上のエラーが発生します。
293:デフォルトの名無しさん
16/07/24 07:45:36.28 ly5reTdt.net
>>290
> due to unsupported collating sort order SortOrder
ソートをサポートしてない照合順序だから
どのDB使ってるのか知らんけどそのDBのスレで聞いた方がいい
294:デフォルトの名無しさん
16/07/24 15:23:04.94 nZyQDXQ7.net
>>291
わかりました
ありがとうございました
295:デフォルトの名無しさん
16/07/25 10:10:54.09 o+qSOoTs.net
java8.0を使用して、指定したディレクトリにあるpdfをXMLに出力したいのですが
・焼肉.pdf
・美味しい焼肉.pdf
と、一致するpdfがあると、ソートするたびに
美味しい焼肉.pdfが増殖して、XMLに出力されてしまいます
List<MyBean> MyClassList;
MyClassList.stream()
.sorted((column1, column2) -> (column1.getFileName().compareTo(column2.getFileName())));
重複させずに出力するにはどうしたらいいでしょうか
296:デフォルトの名無しさん
16/07/25 13:27:54.89 e2t+KF3H.net
原因が別のところにあるはずだけど、ひとまずは
MyClassList.stream().sorted(Comparator.comparing(MyBean::getFileName));
と書き換えてからデバッグ
297:デフォルトの名無しさん
16/07/25 14:11:37.16 o+qSOoTs.net
>>294
ありがとうございます。
試したのですが、sortするとやはりMyClassListに重複した値が増えてしまいました
298:デフォルトの名無しさん
16/07/25 15:29:34.30 e2t+KF3H.net
遅延実行ってのは終端操作実行時にまとめて実行される
つまりここにある中間操作だけでは何も実行されてないんだ
省いてる箇所でnewやらaddやらをやらかしてて、そこが原因なので
そっちを直した方がいいと思うよ
299:デフォルトの名無しさん
16/07/25 17:40:28.83 dk9eIH21U
teoma.comとか本当、もう要らないわ・・・・・JAVAもろともアンインストール
してやる・・・・ASKツールバーの時も腹が立ったが
もう要らない どうせ入れといてもろくなことは無い きれいに掃除する。
300:デフォルトの名無しさん
16/07/25 17:56:45.73 gQkcqFFS.net
protected で制限した変数はサブクラスからは何もせずに参照出来るのでしょうか
301:デフォルトの名無しさん
16/07/25 20:30:17.90 o+qSOoTs.net
>>296
了解です。addしているところの動作をもう一度確認してみます
ありがとうございました
302:デフォルトの名無しさん
16/07/25 21:09:04.79 P8KhuDqV.net
>>298
できる
303:デフォルトの名無しさん
16/07/25 21:17:30.16 reWN8vEs.net
お主、やるなー
304:デフォルトの名無しさん
16/07/25 23:05:41.25 mOPCG0KN.net
ドキュメントに記載する以外の方法で
メソッドの戻り値がRandomAccessなListであることを表す事ってできますか?
305:デフォルトの名無しさん
16/07/25 23:13:12.32 7wdUvKxG.net
booleanでtextValueChangedメソッドの処理内容を分岐したいのですが、
思った通りに動かずflag = FALSEが表示されます。何故でしょうか。
どこがおかしいのかご教示くださいませんか。
public void textValueChanged(TextEvent e) {
if (flag) {
System.out.println(
306:デフォルトの名無しさん
16/07/25 23:16:54.17 7wdUvKxG.net
public void textValueChanged(TextEvent e) {
if (flag) {
System.out.println("flag = TRUE");
} else {
System.out.println("flag = FALSE");
}
}
public void actionPerformed(ActionEvent e) {
flag = true;
textArea.setText("text");
flag = false;
}
307:デフォルトの名無しさん
16/07/26 00:50:22.89 myVF9Xr2.net
URLリンク(ideone.com)
これがどうして正常に動くのか分かりません
class Bのコンストラクタで引数2なのに変数は1つですよね?
308:デフォルトの名無しさん
16/07/26 01:10:54.20 HXAddbiE.net
>>305
まず、クラスBのコンストラクタの第一引数は誰にも代入しないので捨てられる。第二引数はBクラスのインスタンス変数j(this.j)に代入される。
B::print()の中で参照してるiはクラスAのインスタンス変数で、protectedのアクセス修飾子が付いているのでAの子クラスであるBから参照できる。で、i自体は誰にも代入されないので、Javaの言語仕様上intの初期値0が入っている。
309:デフォルトの名無しさん
16/07/26 01:47:46.23 /M07KazB.net
>>306
ありがとうございます
代入先が無い引数はエラーは出ずに捨てられるのですね
疑問が解決しました!
310:デフォルトの名無しさん
16/07/26 09:01:46.39 wgrTzFAR.net
>>304
Swingか何かか?
やったことないけど、setText呼んだ段階ではキューイングされるだけで
actionPerformed抜けるまでtextValueChanged呼ばれないんじゃない?
flag落とすのをtextValueChangedの中でやれば望んでる結果になると思う
311:デフォルトの名無しさん
16/07/27 22:28:26.38 R8yHjxmn.net
>>308
AWTです
trueブロック内でfalseにしたらうまくいきました
ありがとうございました
312:デフォルトの名無しさん
16/07/28 23:08:43.48 MGXMrYhs.net
JSPについて質問させてください。
DBから抽出した値に100を差し引いて
画面上に出したいと思っています。
<sql:query var="result" dataSource="${db}">
~略~
</sql:query>
<c:forEach var="row" items="${result.rowsByIndex}">
<tr>
<c:forEach var="column" items="${row}">
<td>${column}</td> ←この項目から100を引きたい
</c:forEach>
</tr>
</c:forEach>
上のコードで
<td>${column}-100</td>
とやったところ、${column}はちゃんと取得できているのですが、
-100は計算されずにそのまま文字列として表示されました。
考えてみれば当然なのですが、この「${column}-100」を
演算した結果を表示させるにはどうしたらいいのでしょうか。
JSP上でDBから得た値を演算して表示する方法はあるのでしょうか。
313:デフォルトの名無しさん
16/07/29 00:48:22.39 0shNz7ps.net
>>310
<td>${column-100}</td>
314:デフォルトの名無しさん
16/07/29 00:51:06.50 0shNz7ps.net
>>310
何も書かずに送信してしまった。
EL式でググれば分かる。
315:デフォルトの名無しさん
16/07/29 07:44:21.66 i9aAF/6X.net
ありがとうございました!
できました。
昨日もそれでやってみたときにできなかったんですが、改めてエラーを確認したところ、データベースから抽出された値に、文字列が入っていたためでした。
本当にありがとうございました
316:デフォルトの名無しさん
16/07/30 13:00:35.33 AJ58aET5.net
mydebug(“str“, 1, var);
みたいに何でも渡せるprintデバッグする関数はどう書けばよいですか?
String... args で受けとると1やvarの型が違うとエラーになりますが、いちいち型チェック、型変換するの面倒臭いです
317:デフォルトの名無しさん
16/07/30 13:41:02.82 cu0neLT9.net
String...がダメだったらObject...でもいいじゃない
void mydebug(Object... obj) {
Logger logger = LogManager.getLogger();
String result = Stream.of(obj).map(Object::toString).collect(Collectors.joining(", "));
logger.info(result);
}
318:デフォルトの名無しさん
16/07/30 14:18:00.96 AJ58aET5.net
>>315
うう、rubyなら p “str“, 1, var; で済むものがjavaではこんなに長く難しく…ありがとうございます
319:デフォルトの名無しさん
16/07/30 21:16:54.30 cu0neLT9.net
rubyでいうppのような用途ならデバッガ使えよ
ブレークポイント設定してからステップ実行した方が楽だし分かりやすかろう
320:デフォルトの名無しさん
16/07/30 23:43:22.20 yqk0CHQR.net
すみません、行き詰ってしまったので教えてもらえないでしょうか。
EL式の
<sql:query var="result" dataSource="${db}">
で、resultに抽出結果を格納しました。
この抽出結果にはgroupnoという列名があります。
<c:forEach>で各行に対して処理を行う際に、
groupno項目を使い判定をしたいのですが、
実行すると<c:out のところでエラーしてします。
<c:forEach var="row" items="${result.rowsByIndex}">
<tr>
<c:out value="${row.groupno}"/>
エラー原因「java.lang.NumberFormatException: For input string: "groupno"」
ほかのサイトでは、"${row.groupno}"で値を取得できると書いてあったのですが、
取得の方法が誤っているのでしょうか。
321:デフォルトの名無しさん
16/07/30 23:58:51.48 3EsQsPy/.net
クラスAを継承したクラスB・CがありクラスAはクラスX型のフィールドとそれに関連するメソッドを持ちます
クラスB・Cでは実際にはクラスXではなくそれを継承したクラスY・Zのインスタンスをそのフィールドに保持したいです
するとクラスX型としてフィールドを宣言しているのでクラスY・Zで追加した機能が使えません
1.クラスB・CでそれぞれクラスY・Z型のフィールドを宣言
2.クラスB・Cでダウンキャストして扱う
3.クラスAで<T extends X>としてT型のフィールドを宣言
この場合は1が正解ですか?
3の場合もゲッターで防御的コピーをするため結局クラスB・Cで実装する必要があり共通部分がクラスAで完結できません
322:デフォルトの名無しさん
16/07/31 00:21:27.19 VGHB1MRw.net
>>319
abstract class A { protected abstract X getX(); }
class B extends A { private X x; @Override public X getX() { return x; } }
これでいいよ
もしくは共通化のための継承なんて時代錯誤なことはやめて包含
323:デフォルトの名無しさん
16/07/31 00:22:51.88 9Z6DmbVF.net
馬鹿みたいだなw
324:デフォルトの名無しさん
16/07/31 00:27:42.27 VGHB1MRw.net
>>320
すまん間違えた
class B extends A { private Y y; @Override protected X getX() { return y; } }
325:デフォルトの名無しさん
16/07/31 00:30:33.15 9Z6DmbVF.net
ほら次w
326:デフォルトの名無しさん
16/07/31 00:37:46.32 ml+ojx40.net
ありがとう
327:デフォルトの名無しさん
16/07/31 00:38:15.62 9Z6DmbVF.net
糞だなw
328:デフォルトの名無しさん
16/07/31 02:48:57.99 tAwv2Thr.net
>>318
java.lang.NumberFormatExceptionでググれ
329:デフォルトの名無しさん
16/07/31 09:37:37.39 pgUfjJaM.net
「java.lang.NumberFormatException: For input string」
についても調べています。
数値形式でない文字列を変換しようとすると
このエラーが発生するみたいなんですが、
<c:out value="${row.groupno}"/>では
文字を出力しようとしているだけで、
型変換を行っていません。
実はこのc:outで型変換を行っていたりするのでしょうか。
330:デフォルトの名無しさん
16/07/31 14:49:25.01 zRCa/wW2.net
>>327
groupnoが数値型で定義されていてDBには文字列が入ってるということでは無い?
331:デフォルトの名無しさん
16/07/31 23:10:07.40 eOIO+/Cg.net
Cで作られたソースをJavaに移植しようとしてます
対象は、ファイルのヘッダ情報を読み込む処理なのですが、Cでは以下のような感じで
fread()により構造体に読み込んでます
struct HEADTAG {
unsigned char a[4];
unsigned int b;
};
のようにヘッダ情報に揃った構造体を作り、
struct HEAD_TAG head;
fread(head, sizeof(HEADTAG), 1, fp);
のようにしてヘッダ情報を読み込んでます
その処理をJavaに書き直しており、今はヘッダ情報を1バイトずつ読んでいくメソッドを
作ったのですが、処理したいファイルは複数種類あり、そのたびにメソッドを
バイト数とか数えながらいちいち対応させるのが大変なので、改善したいです
readObjectを使ってみたのですが、fwrite()されたものをJavaのクラスにはめこむのは
無理そうです
改善できる手法はありますか?
教えてください
332:デフォルトの名無しさん
16/07/31 23:17:38.77 IDpOSBbN.net
クラス間の変数の受け渡し方法はわかるんですがクラス内のメソッドの中の変数を別のクラスのメソッドへと渡す方法がわかりません...
333:デフォルトの名無しさん
16/07/31 23:42:57.33 dAJgLCTA.net
>>330
はあ?
カプセル化とデータ隠蔽したくなければ、メンバ変数にしろよw
334:デフォルトの名無しさん
16/08/01 00:22:28.90 HR3l0GRU.net
>>329
ない
DataInputStreamやByteBuffer使って地道に読め
335:デフォルトの名無しさん
16/08/01 10:33:20.25 3q+qs35i.net
ファイルが10種類超えるようならワザも必要だろうけど
そうでないなら単純に並べてオワリでいい
そんなのよりバイト境界のアラインメント・パディングのほうを心配すべき
336:デフォルトの名無しさん
16/08/01 10:36:09.73 BivcssXD.net
Webアプリ内でのアクセスカウントをしていたのですが、
メソッドの引数内でのインクリメントってダメなんですか?
カウントアップされる。
count++;
session.setAttribute("count", count);
カウントアップされない。
session.setAttribute("count", count++);
337:デフォルトの名無しさん
16/08/01 10:51:40.34 3q+qs35i.net
関数呼び出し後にカウントアップされるじゃろ
++ を前置するか後置するかで意味が変わる必須知識
338:デフォルトの名無しさん
16/08/01 11:25:08.28 BivcssXD.net
あーたしかに。
//この時点でcount=0
session.setAttribute("count", count++);
system.out.println(count);
//ここで1になる。
基礎的なことでした。ありがとうございました。
339:デフォルトの名無しさん
16/08/01 15:22:24.68 J06mS2KP.net
>>332
そういやそれ俺も10年以上前に思ったんだが、リフレクション使ったりして自動でやってくれるライブラリとかないのかね?
あると楽だよな。
340:デフォルトの名無しさん
16/08/01 15:30:18.95 wzv40BV/.net
>>337
リフレクションでメンバの宣言順を知る方法はないから、
全てのメンバにアノテーションでオフセットを明示的に付けとかなきゃいけない
結果、ストリームやチャネルから順番に読んだほうが楽
341:デフォルトの名無しさん
16/08/01 15:48:35.03 MZRkq7W6.net
>>332
>>337
俺もこれ思った
てか今でも思ってる
何かいい方法ないかなあ
実際、ヘッダは構造体をfwrite()したバイナリ、
みたいな形式のファイルってまだまだ多いよな
wavフォーマットとかだとAPIあるけど、そうでないものだと、
Cなら構造体にfread()すりゃ一発なのに…と思いつつ
バイト単位に読んじゃ処理、を繰り返してる
実際のとこ、そういう処理書くときってバグが出がちだし、
Cでfread()するプログラムもデバッグで併用してるわ
342:デフォルトの名無しさん
16/08/01 16:01:28.61 JXVULl1x.net
バイトオーダーが違っていたりunsignedをどうするかで揉めたりしたな
ただ読むだけでも罠があるんで注意
343:デフォルトの名無しさん
16/08/01 16:13:03.10 cKjLGiE2.net
Cでも複数OS対応やるとアーキテクチャやアラインメントの差で
fread()の方が面倒だけどね
処理系毎にディレクティブで調整しないといけないし
何だかんだでバイトストリーム処理に落ち着く
344:デフォルトの名無しさん
16/08/01 17:08:33.60 NiACz+iq.net
ワンリトルインディアン、ツービッグインディアン
345:デフォルトの名無しさん
16/08/01 19:21:15.41 r7TDkART.net
>>338
あ、そーか。順序ね。
やっぱ設定読んでその通りに読むようなの書かないと汎用性のあるやつは作れんか。
346:デフォルトの名無しさん
16/08/01 19:25:38.84 r7TDkART.net
Perlのunpackのようなやつがあれば少しは楽だなと思ったが、なんとなくその程度は誰かが作ってそうな気もするな。
347:デフォルトの名無しさん
16/08/01 19:59:38.26 +SXwg/r8.net
>>338
ソースを直接読み込んでシリアライズルーチンを生成するようなツールがあってもいいかも
348:デフォルトの名無しさん
16/08/01 22:52:44.49 kL4mnthq.net
ぐぐってもさっぱりだったので、どなたか知恵を貸して欲しいです。
このコードを実行した時に
Process process = Runtime.getRuntime().exec(
349:デフォルトの名無しさん
16/08/01 22:55:55.34 n+rqaJ1Q.net
ぐぐってもさっぱりだったので、どなたか知恵を貸して欲しいです。
このコードを実行した時に
Process process = Runtime.getRuntime().exec(command);
return process.waitFor();
このようなエラーが出たのですが、
java.lang.IllegalThreadStateException: process has not exited
at java.lang.ProcessImpl.exitValue(Unknown Source)
at java.lang.ProcessImpl.waitFor(Unknown Source)
waitForの中でIllegalThreadStateException: process has not exitedが出るのはどういう場合でしょうか。
commmandはあるEXEに引数を渡しています。
350:デフォルトの名無しさん
16/08/02 06:22:55.16 k09SlNii.net
「java.lang.illegalthreadstateexception process has not exited」
「java waitfor」で検索!
351:デフォルトの名無しさん
16/08/02 09:22:55.07 GqnDdCx0.net
>>337
あるけどライブラリ名忘れた。
オレオレフォーマットのバイナリファイル読むときに便利そうだと思った
352:デフォルトの名無しさん
16/08/02 09:30:46.79 W6DOqtYT.net
もうしわけありません、
javaを使っているサイトを教えてもらえませんですか。
自分のブラウザが機能しているか知りたいもので。
353:デフォルトの名無しさん
16/08/02 09:42:56.72 k09SlNii.net
paiza.IO, codepad, Ideone とか?
354:デフォルトの名無しさん
16/08/02 09:45:04.58 qgieWvrw.net
>>350
いたち
355:デフォルトの名無しさん
16/08/02 09:47:30.99 ZJ7USS9Y.net
>>350
ブラウザが機能しているのを確認するのに、そのサイトがJavaでできているかどうかは関係ないと思うが…
Javaアプレットが動作するかを見たいということ?
356:348
16/08/02 10:14:47.55 W6DOqtYT.net
>>353
Javaランタイムをインストールしたのですが、それがブラウザで機能しているかを知りたいのです。
アプレットのあるサイトならちょうどいいかと思っています。
通知領域にjavaのアイコンがでてくるのがありますよね。あれです。
357:デフォルトの名無しさん
16/08/02 10:35:38.02 3bNJYHPI.net
>>354
javaアプレット ゲーム とかでググれば往年のサイトが沢山出てくるだろ
っていうか今更Javaアプレットなんか使うの?
世間じゃ完全にセキュリティホール扱いで最近のブラウザでは起動すら困難なのに
358:デフォルトの名無しさん
16/08/02 10:38:45.77 1+WRG/xH.net
Java アプレットと Flash は死んだ技術と思っていい
359:348
16/08/02 11:06:12.58 W6DOqtYT.net
つまり、ブラウザに関する限りは、
javaはアンインストールしても生活できるということですね。
360:デフォルトの名無しさん
16/08/02 11:16:31.38 Xrtvt7f9.net
当然
361:デフォルトの名無しさん
16/08/02 11:29:16.14 vsJc3M85.net
✕ブラウザに関する限りは
○一般的なPCに関する限りは
Javaなんかサーバーと開発者端末にだけ入ってりゃいいよ
Javaアプレットは死んだが、一時期日の目を見ただけマシだ
その他のクライアントJavaは始まったことすらない
362:デフォルトの名無しさん
16/08/02 12:29:33.60 EgQKcOSy.net
androidの根幹ではあるけどな。w
ユーザーは意識する必要なし。
363:デフォルトの名無しさん
16/08/02 19:31:08.61 NfCSYQH6.net
Javaアプリはマルチプラットフォーム対応が必要なソフトにとっては
今でも有効な選択肢のひとつだけどな
現に俺その仕事今やってるし
364:デフォルトの名無しさん
16/08/02 20:00:29.84 vpqNpIG1.net
最近はjsが主流な気がする
デスクトップ版jsあるし
365:デフォルトの名無しさん
16/08/02 20:01:43.14 vpqNpIG1.net
VSCodeみたいなアプリ
あれ確かJSだったよな
366:デフォルトの名無しさん
16/08/02 20:07:23.03 NfCSYQH6.net
JSは言語としてヤバ過ぎるからなあw
367:デフォルトの名無しさん
16/08/02 20:20:37.18 vpqNpIG1.net
TypeScript使えばまあ…
368:デフォルトの名無しさん
16/08/02 20:21:47.45 vpqNpIG1.net
でも標準APIが弱すぎるんだよな
C#とかjavaから入った俺はかなり辛い
369:デフォルトの名無しさん
16/08/02 23:14:28.54 qyMvpHKg.net
すみません、教えてください
javaクラスでselect文を実行するコードを記述したのですが
変数に代入するときにエラーが発生してします。
ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
if (first_flg = true) {
taskname = rs.getString("TASKNAME");
grouping_id = rs.getString("GROUPING_ID");
first_flg = false;
}
「rs.getString("GROUPING_ID")」でウォッチすると
「iwhile (rs.next()) {」を通過時、値が正しく設定され、
その次の「tif (first_flg = true)」を
通過すると一瞬取得中となりその後
「Exception occurred in target VM: No data found 」と
なってしまいます。
1度正しく取得できているのに、なぜIF文を通過しただけで
No data foundとなってしまうのかわかりません。
ちなみに、実行したSqlです。
SQL自体は正しく動くことを確認済みです。
原因はなんでしょうか。
SELECT プロジェクトcd,LEFT(ID,10) AS GROUPING_ID,TASKNAME
FROM KINMUHYO
WHERE LEFT(ID,3) = '10.'
GROUP BY プロジェクトcd,LEFT(ID,10),TASKNAME
370:デフォルトの名無しさん
16/08/02 23:21:23.95 I7kj9PJB.net
first_flg == true
371:デフォルトの名無しさん
16/08/03 01:08:42.82 Ilb64ZBg.net
byteを連結してStringにする方法を知りたいです
あるファイルabc.txtですが、内容は16進表示で以下のように書かれています
41 42 43 20 44 45 46
※「cat abc.txt」とすると「ABC DEF」と表示されるファイル、ということです
これを以下の様にして、bufに内容を読み込むことはできました
FileInputStream fs = new FileInputStream("abc.txt");
BufferedInputStream bs = new BufferedInputStream(fs);
byte[] buf = new byte[5];
int len = bs.read(buf);
この後、buf[0]とbuf[1]とbuf[2]を繋げて作った文字列が「ABC」かどうかを
調べたいのですが、実際に比較する処理、if (○○.equals("ABC")){...}をするまでに
どうしたらよいか、教えてください
372:デフォルトの名無しさん
16/08/03 02:45:14.84 XimUxRSs.net
new String(buf, 0, 3, Charset.forName("UTF-8"));
かな
373:デフォルトの名無しさん
16/08/03 07:49:57.31 Bwec/Fiq.net
>>368
ありがとうございました。
while文の中で他にも比較を行っている個所があり、
「first_flg == true」と変更した後でも、
「if (grouping_id != rs.getString(
374:デフォルトの名無しさん
16/08/03 07:50:40.27 Bwec/Fiq.net
すみません、途中で切れてしまいました。
「first_flg == true」と変更した後でも、
「if (grouping_id != rs.getString("GROUPING_ID")) {」
に入ると「rs.getString("GROUPING_ID")」が
「Exception occurred in target VM: No data found 」
となります。
rs.getStringで一度値を取得するとなくなるということはないと
思うのですが、これも比較の仕方が誤っているのでしょうか。
while (rs.next()) {
if (first_flg == true) {
taskname = rs.getString("TASKNAME");
grouping_id = rs.getString("GROUPING_ID");
first_flg = false;
if (grouping_id != rs.getString("GROUPING_ID")) {
略
}
}
375:デフォルトの名無しさん
16/08/03 08:08:21.64 Ilb64ZBg.net
>>370
ありがとうございます
試してみます
その後また調べ、StringやCharset.forNameはキーワードっぽいものとしては
みつけたのですが、使い方がよくピンときておりませんでした
具体的な記述を示していただき、ありがとうございます
376:デフォルトの名無しさん
16/08/03 14:30:01.95 5TJZrkhI.net
糞コードを書いてみた。構造体をファイルに書き出すC++
URLリンク(ideone.com)
そのファイルから構造体をfreadっぽく読み込んだJava
URLリンク(ideone.com)
構造体クラスにHEADTAGと同じサイズのバッファを設けてそこに
バイト配列として一気に読み込んで、内部でメンバごとに切り分ける。
unsignedとかバイトオーダーとかの変換がやっぱり面倒だな。
377:デフォルトの名無しさん
16/08/03 17:46:09.91 dW70LiFf.net
nio使うとバイトオーダーはやってくれる
URLリンク(ideo)
378:ne.com/UxSct1 あとnull終端調べないとjavaのStringは\0ごと取り込んでlength==4になるので注意
379:デフォルトの名無しさん
16/08/03 18:28:53.55 35QlWMIm.net
unkて何かと思ったら
最後の0でunkoって読ませているのかw
380:デフォルトの名無しさん
16/08/03 20:21:53.92 a4bdwQbs.net
>>372
問題ないように思えるけど
rs.getString("GROUPING_ID")
これの1回目の取得が問題ないようなら
String groupId = rs.getString("GROUPING_ID");
if (grouping_id.equals(groupId)) {
...
}
こんな感じで変数に入れて1回しか呼ばれないようしてみるとか
これで問題なければ行の値は1回しか読み出しちゃいけませんってことに
なるだろうけど、そんなことあるんかね
381:デフォルトの名無しさん
16/08/04 01:54:28.73 CYacPLX8.net
>>372
Exception occurred in target VM: No data found
この後にエラーの詳細は出てないだろうか…。
382:デフォルトの名無しさん
16/08/04 19:28:30.48 2hvSEb5P.net
URLリンク(i.imgur.com)
383:デフォルトの名無しさん
16/08/04 20:52:43.87 mg6fDm+D.net
>>377、376
お返事ありがとうございました
>>372です。
色々調べたところ、ACCESSをデータベースとしている場合、同一
ループ内でのgetStringはできないという情報がありました、、、
まさかそんな制約があるとは思いませんでした。
なんとか変数のやりくりで頑張ってみます
ありがとうございました。
384:デフォルトの名無しさん
16/08/04 22:53:24.94 8F+chxLR.net
Java1.5のloggingでpropertiesファイル読み込ませた後に、ファイルの出力先だけ変えたいんだけど、出来ます?
ググっても、後から変える方法が見付からなくて・・
385:デフォルトの名無しさん
16/08/04 23:18:10.54 KxCOPaH9.net
教えてほしいのですが
java8でOOMが発生したのでヒープダンプを解析したところメインスレッドから参照されているインスタンスが多数ありました
メインスレッドから直接参照されてGCで解消されないインスタンスはどのように生成された場合に発生しますか?
386:デフォルトの名無しさん
16/08/04 23:30:39.80 1Q45SAfi.net
スタック(生存中のローカル変数)から参照されてるんだろ
387:デフォルトの名無しさん
16/08/05 00:52:56.77 6LlEijpk.net
専門学校に行って習うのってメリットある?
388:デフォルトの名無しさん
16/08/05 03:16:33.02 9k3C6R28.net
お前じゃどこいっても無理だ
板名すらよめないんだもん
389:デフォルトの名無しさん
16/08/05 06:49:38.70 x8TUq60L.net
>>381
Javaの環境変数に、そういう項目は無いの?
入門から実践までJavaで学べる「ログ」の常識
URLリンク(www.atmarkit.co.jp)
390:デフォルトの名無しさん
16/08/05 07:52:48.65 YTOm0VxE.net
>>384
独学でダメだったら諦めた方がいい
その程度の奴はIT行っても奴隷のような勤務形態で延々単純作業をやらされた挙句に身体か精神壊して捨てられるだけだ
391:デフォルトの名無しさん
16/08/05 08:13:33.12 m10n1TDx.net
確固たる目的があってそれに対して有効であれば行っていいんじゃない?
学びたいからとか言う謎の理由は無意味
392:デフォルトの名無しさん
16/08/05 08:51:26.42 ij72IWqm.net
Java勉強するだけならメリットはない
393:デフォルトの名無しさん
16/08/05 08:59:54.49 2ygfJ/wh.net
JavaのWebアプリケーションの生産性は低いからなあ。
394:デフォルトの名無しさん
16/08/05 09:12:54.48 YTOm0VxE.net
SIベンダーから見た生産性は非常に高いよ
Railsなんかで作るより数倍の工数取れて、
品質品質保守性保守性言ってれば客は納得するんだからこんなに美味い商売はない
395:デフォルトの名無しさん
16/08/05 09:51:05.51 2ygfJ/wh.net
>>391
生産性じゃなくてぼったくりだろw
396:デフォルトの名無しさん
16/08/05 12:43:53.38 7M4UoUhy.net
利益の生産
397:デフォルトの名無しさん
16/08/05 13:14:22.96 9cFHC08F.net
>>392
納得してるのならぼったくりではない
398:デフォルトの名無しさん
16/08/06 01:25:18.48 FfBiCVo4.net
csvファイルを読みこみ、PreparedStatementを使ってDBにどんどん
insertしていってるんですが、流すたびにinsertできている件数が
違います。
全5000件のうち、1度目は300件だったり、2回目は1000件だったり、あるいは
逆だったり、、、
とにかく流すたびにinsertできる件数が違っていて規則性がないんですが、
何が原因なんでしょうか。
プログラム誤りであれば、毎回同じ件数になると思うのですが、、、
399:デフォルトの名無しさん
16/08/06 01:35:44.75 NlPhIpsR.net
>>395
5000件処理して300件しかデータがないってどんぶり勘定にも程があるな
むかしむかしMySQLのドライバのバグで単純な挿入さえまともにできなかったことがある
ドライバのバグとか、コミットがちゃんとできてないとか
DBは何使ってるの?コードはどんな感じ?
400:デフォルトの名無しさん
16/08/06 02:10:07.11 FfBiCVo4.net
>>396
まさかこんな時間に返信もらえるとは思ってませんでした。
Statementで更新していた時は全件INSERTできたんですが、PreparedStatementに
変更したら、>>395の状態となってしまいました。DBはACCESSです。
コードはこんな感じです。
401:デフォルトの名無しさん
16/08/06 02:13:17.61 FfBiCVo4.net
private void insert_task(String table, BufferedReader br) {
Connection con = null;
PreparedStatement pstmt_ins = null;
PreparedStatement pstmt_del = null;
PreparedStatement pstmt_upd = null;
try {
//JDBCドライバのロード
//各設定
String url = "jdbc:odbc:kinmu";
String user = "";
String pass = "";
//データベースに接続
con = DriverManager.getConnection(url, user, pass);
String line = ""; //一行ずつ読み込む
int line_count = 1; //ヘッダーフラグ
boolean delete_flg = true; //ヘッダーフラグ
String sql_ins = "INSERT into KINMU values(?,?,?,?,?)";
pstmt_ins = con.prepareStatement(sql_ins);
while ((line = br.readLine()) != null) {
String[] strAry = line.split(",", 11);
pstmt_ins.setString(1, strAry[0]);
pstmt_ins.setString(2, strAry[1]);
pstmt_ins.setString(3, strAry[2]);
pstmt_ins.setString(4, strAry[3]);
pstmt_ins.setString(5, strAry[4]);
pstmt_ins.executeUpdate();
}
} catch (IOException exception) {
402:デフォルトの名無しさん
16/08/06 02:15:37.25 FfBiCVo4.net
PreparedStatement pstmt_upd = null;
PreparedStatement pstmt_del = null;
について、実際はpstmt_upd、pstmt_delを用いて
try{}の中でdelete,update処理を行っていますが、
正常に処理できているのでコードを割愛させていただきました。
403:デフォルトの名無しさん
16/08/06 05:52:46.32 e+VUV2JF.net
>>399
どのデータが登録されて、どのデータが登録されないのか調べて傾向を見た方がいいよ。
404:デフォルトの名無しさん
16/08/06 06:21:01.04 dbq4lnef.net
どういうテーブルか知らんけど1番目はIDかつプライマリキーにしていることが多いから
setIntやsetLongを使うんじゃなかろうか
405:デフォルトの名無しさん
16/08/06 06:31:44.35 mW190j2d.net
勤怠なら第一要素を日付としてpkにしてる可能性もある
とは言え全く同じcsvを元にしてて毎回結果が異なるのはよくわからんなぁ
406:デフォルトの名無しさん
16/08/06 08:11:45.63 FfBiCVo4.net
朝早くからこんなにお返事ありがとうございます。
>>400
Insertがされているデータは、すべての列が正確に登録されています。
>>401、400
諸事情があり、プライマリーキーは設定しておりません。
また、全4列において、すべてテキストタイプです。
朝、PCを立ち上げ直し、2回ほど処理を回してみましたが、
1回目は538件で、2回目は990件でした。
規則性がかけらもない_| ̄|○
407:デフォルトの名無しさん
16/08/06 08:27:11.97 y/TrjN6T.net
>>403
> Insertがされているデータは、すべての列が正確に登録されています。
そう言う話じゃなくて Insert できてる奴とできてない奴でデータの違いはないのか?
って話だろ
> 1回目は538件で、2回目は990件でした。
ソースは同じ CSV なの?
そもそもデータベース側のエラーログとかはないのか?
408:デフォルトの名無しさん
16/08/06 08:57:34.01 kzQiWQLN.net
>>403
件数ってどうやって確認してるの?
insertはうまくいってて、select側に問題があるんじゃないの?
409:デフォルトの名無しさん
16/08/06 09:03:06.59 kzQiWQLN.net
>>399
deleteの部分もコード貼れるかな。
そこがおかしいんじゃない
410:デフォルトの名無しさん
16/08/06 09:33:59.56 FfBiCVo4.net
>>397です。
お返事ありがとうございます。
なんかPCを再起動してやってみたら、コードは一つも直していないのに、全件入るようになりました_| ̄|○
しかも何回やっても全部入るみたいです。
>>404
確認したのですが1回目と2回目の差分は何の変哲もないデータで、Insertされているデータと比べ変なところはありませんでした。
また、1回目2回目共に同じデータです。
データベース側のログ、確認してみます!
>>405
件数はACCESSにて全体件数が自動表示されますので、それで確認しています。
スクロールしても、やはりその件数までしかレコードが表示されていないことも確認しています。
>>406
deleteとupdateはこんな感じです。
String sql_del = "delete from KINMU where プロジェクトcd = ?";
pstmt_del = con.prepareStatement(sql_del);
String sql_upd = "UPDATE LASTUPDATE SET 最終更新日時 = ? where プロジェクトcd = ?";
pstmt_upd = con.prepareStatement(sql_upd);
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒");
String last_update = sdf.format(date);
pstmt_del.setString(1, strAry[0]);
pstmt_del.executeUpdate();
pstmt_upd.setString(1, last_update);
pstmt_upd.setString(2, strAry[0]);
pstmt_upd.executeUpdate();
411:デフォルトの名無しさん
16/08/06 09:54:39.20 kzQiWQLN.net
>>407
どういうアプリかわからないけど、常駐非対話アプリなら、別のプロセスにdeleteされてるんじゃない。
再起動してうまくいったのは、別のプロセスが終了したから。
そもそも、現状オートコミットのままだから、アプリの種類によっては、オートコミットやめた方がいいよ。
412:デフォルトの名無しさん
16/08/07 01:35:06.14 iJHIeyzf.net
消費税引き上げ先送りも決まり,日銀とECBがしっかり資金供給を拡大してくるのでFRBの利上げは多分成功する
基調はリスクオンの株式暴騰、金暴落だね
今度の黒田砲は緩慢に効いてくる
海馬がくる,海馬がくる
413:デフォルトの名無しさん
16/08/07 18:49:39.23 412P3kmz.net
誤爆か・・・
414:デフォルトの名無しさん
16/08/07 19:21:07.99 L/2xgmOS.net
>>397です。
サーバーログを確認したところ
「[Microsoft][ODBC Driver Manager] 文字列またはバッファーの長さが無効です。」
といったエラーが出力されていました。
で、このエラーを確認したところ、ACCESSとSqlserverをDBに設定した時で、
且つx64版のJavaでVMjdbc:odbc接続を行うと発生するエラーとのことです。
ほかの方も不特定の箇所で発生しているみたいです。
ただ私の環境ではPreparedStatementの時だけこの現象が発生し
Statementの環境では正常に動作するところが謎です、、、
以上、報告でした。
返信くださった皆様、ありがとうございました。
415:デフォルトの名無しさん
16/08/07 19:28:49.45 iJHIeyzf.net
>>410
すまん
416:デフォルトの名無しさん
16/08/07 20:54:02.06 /wJe7S0/.net
>>347
ここがよくまとまってたよ
URLリンク(www.jpcert.or.jp)
417:デフォルトの名無しさん
16/08/08 23:54:22.48 50XAspjz.net
引数でenumを受けてswitchで分岐して戻り値を返すメソッドを作っているんだけど
defaultで何か値を返さないとコンパイルエラーなんだけどこういうものですか?
enumが取り得る値は全部caseに書いてるからdefaultに分岐することは無いと思うのだけど
418:デフォルトの名無しさん
16/08/09 00:14:20.76 QLW4GyaM.net
>>414
switch文の中でreturnしてるのでは?
その場合はdefaultで何かしらreternするかswitchの外でreternしないと全てのパスで値を返さないと判断されてビルドエラー
個人的にはswitch内では返却用変数に値を入れて、switchの外でretern。default節にはassertかな
419:デフォルトの名無しさん
16/08/09 00:15:25.93 s9poePNg.net
>>414
Castすればenumで定義してない値も渡せるから
420:デフォルトの名無しさん
16/08/09 00:19:18.47 h+7CEzP0.net
>>416
マジで?
enumは定義した値しか無理なのがメリットと聞いたんだが
421:デフォルトの名無しさん
16/08/09 00:26:37.78 s9poePNg.net
>>417
Enum.IsDefined()かType.IsEnumDefined()を使わないと、定義された値かどうかの保証はないよ
422:デフォルトの名無しさん
16/08/09 00:51:04.06 h+7CEzP0.net
>>418
そうだったのかよ
423:デフォルトの名無しさん
16/08/09 01:12:43.40 mCEAgHsh.net
え、ちょっとまって、ここC#スレじゃないよね
Enum.IsDefinedってC#(というか.NET)だよね
URLリンク(docs.oracle.com)
424:デフォルトの名無しさん
16/08/09 06:45:58.32 qoHYj2J7.net
まあenumに後で値が追加された場合を考えてdefaultは必ず書いといた方がいい
それが嫌なら他所でswitchは使わずにenum側にメソッドを定義する
425:デフォルトの名無しさん
16/08/09 09:36:23.22 h+7CEzP0.net
>>
426:420 あっそっか 先頭大文字はC#か
427:412
16/08/10 08:47:58.34 oaJhkFWS.net
レスありがとう
逆コンパイル見て納得したわ
そうだよなぁ、コンパイル時に参照してるenumと実行時に参照してるenumが変わってる場合もあるもんなぁ
自分で作ってる範囲では関係ないけど
428:デフォルトの名無しさん
16/08/10 09:04:51.85 DKNr45Gr.net
CやC#のenumがタイプセーフでないと言われるのは
enumが単なる数値でどんな値も取りうるからというよりもswitchを使うという行為に由来するもので
結局Javaの「タイプセーフ」enumだろうがswitch使っちゃうとタイプセーフにはなり得ないんだよな
429:デフォルトの名無しさん
16/08/10 10:01:54.36 ZwTZqxeT.net
switchも拡張してなんとかすればいいのにね
430:デフォルトの名無しさん
16/08/10 14:58:25.68 fFAFyiAs.net
定義外enumのインスタンス化禁止+網羅チェックくらいの
程よい拡張ならいいけどやりすぎると結構アレなことになる
URLリンク(wpdev.hatenablog.com)
URLリンク(qiita.com)
431:デフォルトの名無しさん
16/08/10 15:30:44.38 qErblx1T.net
>>424
それはバージョン間の互換性の問題と
typesafe enum/int enumの問題とをごっちゃにしてるだけだよ。
互換性の問題をクリアできてないから万能ではない、あたりまでは言えるかもしれんが、
タイプセーフではないとか言っちゃうと……