★★Java質問・相談スレッド184★★ (371レス)
1-

114
(1): (ワッチョイ 299c-4c6f) 2023/01/20(金)02:37 ID:8hijXP6L0(1) AAS
がんば!
115: (オイコラミネオ MMe5-NK77) 2023/01/20(金)15:38 ID:ZdjsiCX8M(2/2) AAS
>>114
有難うございます!
取り敢えず継続していきます、、
116: (スッップ Sd1f-oUhl) 2023/01/24(火)20:20 ID:rGIG2HhYd(1) AAS
onMessageの中でDBコネクトして最後にクローズしてるソース見て、なんでonOpenでDBコネクトしてonCloseしないんだろうと思ったんですけど
onMessageで毎回DBコネクトするのが一般的なんでしょうか?
117: (ワッチョイ 339c-KBNU) 2023/01/25(水)01:08 ID:pnC8XgZK0(1) AAS
そうですね
必要な場面で接続して用が済んだらすぐに閉じるのが良い設計だと思います

パフォーマンスが気になりますか?
いまはコネクションプーリングという技術があって論理的にクローズしても下位レイヤーでは接続を維持するような仕組みがあります

パフォーマンスのためにデータベース接続を開きっぱなしにするのは設計が古いです
118: (スッップ Sd1f-oUhl) 2023/01/25(水)05:23 ID:b0dkH4ICd(1) AAS
なるほど
c言語ばっかりやっててJAVAはど素人
WEBは全くわからないので
考え方が古かったんですね

コネクションプーリングの勉強からはじめます
119
(1): (テテンテンテン MM4f-S9vL) 2023/02/07(火)20:18 ID:+C6/44ZiM(1) AAS
JPanel p = new JPanel() {
BufferedImage img;
try {
img = ImageIO.read(new File("...."));
} catch (IOException e) {}

void testA() {}
void testB() {}
};
な感じのインナークラスの書き方で、どのようにimgをtry catch書いたらいいでしょうか?
120
(1): (ワッチョイ 7f10-Rw9A) 2023/02/07(火)23:28 ID:CqENBtXk0(1) AAS
catch節になにをコードしたらいいかわからないということ?
121
(1): (テテンテンテン MM4f-S9vL) 2023/02/08(水)04:27 ID:43XrJi8HM(1) AAS
>>120
try catchを書く前はシンタックスエラーは表示されていなかったのですが、
try catchを書いた後に下記のエラーが出ます、

Buffered imgの行に
Multiple markers at this line
- Syntax error, insert ";" to complete
LocalVariableDeclarationStatement
- Syntax error, insert "}" to complete ClassBody
や voidの行に
Multiple markers at this line
- Syntax error on token "void", record
expected
- Syntax error, insert "}" to complete
RecordBody
- overrides javax.swing.JComponent.
paintComponent
そのため、インナークラスでのtry catchの書き方が分かればいいなと思っております。
122
(1): (ワッチョイ 0f9c-vJiC) 2023/02/08(水)08:01 ID:SBxrkX9O0(1/2) AAS
>>121
コンストラクタの中にtestAとtestBが入っちゃってる
void testA の前の空白行に } を入れろ
123
(1): (ワッチョイ 0f90-/fdB) 2023/02/08(水)20:07 ID:s9e4VQn50(1) AAS
>>119
素直にJPanelの継承クラスを書くのがいいんじゃないかと
124: (テテンテンテン MM4f-S9vL) 2023/02/08(水)21:12 ID:CuuJsoDPM(1/2) AAS
>>122
void testA の前の空白行に }を入れたのですが、下記のエラーが表示されました。orz
Multiple markers at this line
- Syntax error, insert "}" to complete ClassBody
- Syntax error, insert ";" to complete
LocalVariableDeclarationStatement
>>123
おっしゃる通り、素直にJPanelの継承クラスを書いたほうがよさそうです。
ただ、初めて見る書き方だったので、勉強のためにもう少し調べてみようと思います。
125
(1): (ワッチョイ 0f9c-zLlH) 2023/02/08(水)22:10 ID:SBxrkX9O0(2/2) AA×

126: (テテンテンテン MM4f-S9vL) 2023/02/08(水)22:47 ID:CuuJsoDPM(2/2) AAS
>>125
ありがとうございます!
インスタンス・イニシャライザは初めて知りました。
これからも少しづつ構文の勉強をします!
127: (テテンテンテン MM0e-c/TO) 2023/02/25(土)00:01 ID:A4bRpZ0eM(1/2) AAS
a = new byte[num];
a[0] = (byte) 0x0A;
のように値を代入したい。

String b = "0A";
が与えられているとき、どうすればバイトとして変数aに与えられた値を入れれますか?
a[0] = (byte) ("0x" + b);
128
(1): (テテンテンテン MM0e-g+Li) 2023/02/25(土)00:12 ID:+Qy/IqxpM(1) AAS
Byte.parseByte("0A", 16);
129: (テテンテンテン MM0e-c/TO) 2023/02/25(土)04:19 ID:A4bRpZ0eM(2/2) AAS
>>128
ありがとうございます。
130: (テテンテンテン MM0e-c/TO) 2023/02/26(日)00:02 ID:F7MFR7BvM(1/2) AAS
フォルダの中にある各ファイルを対象とした処理を書きたいのですが、
File[] inputFiles = stream.toArray(File[]::new);
の行で
Exception in thread "main" java.lang.IllegalStateException: stream has already been operated upon or closed
がでます。

try (Stream<Path> stream = Files.list(Paths.get(path))) {
stream.filter(Files::isRegularFile);
File[] inputFiles = stream.toArray(File[]::new);
Iterator<File> i = Arrays.asList(inputFiles).iterator();
while (i.hasNext()) {}
} catch (IOException e) { e.printStackTrace(); }

が試そうとしているコードになりますが、stream以外を使用するべきでしょうか?
131
(1): (ワッチョイ b18f-eFGh) 2023/02/26(日)02:18 ID:B5iNMzdY0(1/2) AAS
filterとtoArrayを;で分けてるのが良くない、つなげるんだよ、つなげればきっとうまくいく
132: (テテンテンテン MM0e-c/TO) 2023/02/26(日)02:49 ID:F7MFR7BvM(2/2) AAS
>>131
ありがとうございます。
try (Stream<Path> stream = Files.list(Paths.get(path))) {
File[] inputFiles = stream.filter(Files::isRegularFile).toArray(File[]::new);
Iterator<File> i = Arrays.asList(inputFiles).iterator();
while (i.hasNext()) {}}
のように、つなげて?書いてみたのですが
Exception in thread "main" java.lang.ArrayStoreException: arraycopy: element type mismatch: can not cast one of the elements of java.lang.Object[] to the type of the destination array, java.io.File
とエラーが表示されるので、もう少し調べてみます。
133
(1): (ワッチョイ b18f-eFGh) 2023/02/26(日)08:40 ID:B5iNMzdY0(2/2) AAS
Pathのシーケンスを配列にするなら型をPath[]にしないと
Fileにしたいなら.map(Path::toFile)を入れるといい
134: (テテンテンテン MM0e-c/TO) 2023/02/26(日)10:37 ID:ZT8LdB8LM(1) AAS
>>133
ありがとうございます!
助かりました!
135: (テテンテンテン MM0e-c/TO) 2023/03/02(木)20:14 ID:WGG9oXzEM(1/2) AAS
funBで例外が発生した場合、funcAの処理をReturnしたいんですけど、
基本的にどのようにコードしたほうがいいのでしょうか?
フラグを用意して、funcBで例外発生したらフラグをTrueにするんでしょうか?
public void funcA() {
String tmp = funcB();
if (funcB()で例外発生した) {return;}
}
public String funcB() {
try {} catch(Exception e) { e.printStackTrace();}
}
136: (ワッチョイ b18f-Wvzt) 2023/03/02(木)21:01 ID:EnYbv0EK0(1) AAS
これで良い、例外が投げられたら処理は中断される

public void funcA() {
 String tmp = funcB();
}

public String funcB() {
}
137: (テテンテンテン MM0e-c/TO) 2023/03/02(木)21:09 ID:WGG9oXzEM(2/2) AAS
なるほど。ありがとうございます。
138: (テテンテンテン MM0e-g+Li) 2023/03/02(木)22:10 ID:UfHr+gSfM(1) AAS
funcBで今catchしてるってことは多分checked例外でしょ?
そうならchecked例外がSomeExceptionとして
public void funcA() {
try {
String tmp = funcB();
} catch(SomeException e) {
e.printStackTrace(); // なんらかのエラー処理
return;
}
}
public String funcB() throws SomeExecption {
SomeExceptionが生じる処理
}
139: (スッププ Sd33-fh7v) 2023/03/04(土)12:32 ID:NjX9qwnLd(1) AAS
ヒープメモリとかスレッド周りの知識が入門書ではほとんど得られなかったのですが詳しく実践していける粒度で解説してるテキストとかあれば教えてください
140: (ワッチョイ 8b10-Qpn1) 2023/03/05(日)15:41 ID:sC2xzslQ0(1) AAS
ググれゴミ
141: (スッププ Sd33-fh7v) 2023/03/05(日)19:20 ID:UkqT4NrZd(1) AAS
こういうレスする奴って自分も知らないけど取り敢えず何か言っておきたいだけのゴミなんだろうね
142: (ワッチョイ 8b10-Qpn1) 2023/03/06(月)06:43 ID:LPEPSrRV0(1/3) AAS
ググれゴミカス
143: (ワッチョイ 999f-MwUn) 2023/03/06(月)18:22 ID:93HR+LQR0(1) AAS
ChatGPTに質問してみたら?
「ヒープメモリとかスレッドについて教えて」
ってやったら、教えてくれるよ。
しれっと嘘つくこともあるから裏取りはちゃんとやってな。
1-
あと 228 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.037s