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

202: (アウアウウー Sa2b-edyX) 2023/07/22(土)11:44 ID:al5RdX3ea(2/2) AAS
そうなんですね!
203: (アウアウウー Sa2b-vDZl) 2023/07/27(木)13:53 ID:gIycSMlBa(1) AAS
>>200
圧縮されていた方が(コンピュータからしたら)とても遅いディスク等からメモリへの読み込みが少なくて済むので速くなる。圧縮状態から元に戻すのはメモリ上でやるのであまり時間が掛からない。

もちろんこの逆の状態とか、圧縮状態から元に戻すのに物凄く時間が掛かるCPUだったりそのような圧縮だったりすればこの限りではない。
でもそんな環境は今は珍しいと思うよ。組み込み関係のマイコンとかならあるかも知れない。(ラズパイみたいなお前普通のPCだろとツッコミを入れたくなるようなやつは除く)
204: (ワッチョイ df02-Mdmh) 2023/07/27(木)19:59 ID:FKk2H2CJ0(1) AAS
その速度差を気にするのだったら
そもそもJavaで書かないほうがいいと思う
205
(3): (ブーイモ MMb6-A2L1) 2023/08/16(水)14:43 ID:6XslkswQM(1) AAS
Javaって今時Union型も無いんですか
どうして?
206: (ワッチョイ 7f59-eK1Q) 2023/08/16(水)15:15 ID:Ki7QD3KZ0(1) AAS
全部あったらプログラミング言語としての違いがなくなってしまいますね。
207: (ワッチョイ 978f-Rb7U) 2023/08/16(水)16:27 ID:osG/hZP20(1) AAS
>>205
Sealed Classじゃダメかい?
外部リンク:qiita.com
208: (ワッチョイ 6301-DXLR) 2023/08/16(水)19:20 ID:AMR7lasI0(1) AAS
>>205
JavaはクラスのインスタンスはGCで管理するので共用体の必要が無いのでは?
209: (ワッチョイ 1a02-P1Fn) 2023/08/16(水)19:58 ID:TYqhyd0v0(1) AAS
強力な Object 型ならあるぞ
210: (ワッチョイ 4e8e-/Cxw) 2023/08/16(水)22:06 ID:L6CfCWuQ0(1) AAS
>>205
生のメモリとオブジェクトは概念として完全に分離されてるから
211: (ワッチョイ 2bbb-QZaR) 2023/08/22(火)00:46 ID:TPz+mBYc0(1) AAS
さまざまな型システムにはメリデメのトレードオフが必ずある
共用体も節度を持って使えば便利だけど濫用すると惨劇を招く
Javaはシンプルさと移植性を重視してデザインされたので、クラス定義や複数の変数で代用可能な共用体は用意されなかった
Cの直系やBetter JavaScriptと違ってそんなに必要になるシーンも多くないのでSealed Classで事足りるだろう
世界中にある莫大なコードベースに対して破壊的変更が少なくなるように配慮せざるを得ない部分もある
シンプルさが大量のプログラマを生んで成功したからこそ長い栄華を誇ったのだし、栄枯盛衰の落ち目を笑うのは浅はか
212: (ブーイモ MMb3-HTZh) 2023/08/22(火)07:55 ID:tV8s6iNuM(1) AAS
Javaにも様々な新機能が追加されていってるけど頑なに実装を拒んでるものもあるよな
その筆頭がasync/await
要望が多いのに「代わりにVirtual Thread使ってくれ」とか言ってるからな

Virtual Thread とは使い処が違うんだよ!!
213: (ワッチョイ 2501-d0po) 2023/08/29(火)22:09 ID:HMbn0XNH0(1/3) AAS
質問です。
pleiades 2023 で gradle のプロジェクトをインポートしようとしているのですが
以下エラーが出てビルド出来ません。
------------------------------------------------------------------
FAILURE: Build failed with an exception.

* What went wrong:
org/gradle/api/plugins/MavenPlugin
> org.gradle.api.plugins.MavenPlugin

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at 外部リンク:help.gradle.org.

CONFIGURE FAILED in 1s
----------------------------------------------------------
結構頑張ってググっているのですが原因が分からないのですが、
どなたか助けていただけませんでしょうか。
環境は Mac Ventura, gradle 8.3, Java17 です。
214: 0213 (ワッチョイ 2501-d0po) 2023/08/29(火)22:10 ID:HMbn0XNH0(2/3) AAS
文字数制限で連投になりすみません。
なお build.gradle の内容は以下です。
---------------------------------------------------------------------
plugins {
id 'org.springframework.boot' version '2.3.5.RELEASE'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
id 'eclipse'
id 'idea'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 11

compileJava.options.encoding = "UTF-8"

repositories {
mavenCentral()
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-jdbc')
implementation('org.springframework.boot:spring-boot-starter-thymeleaf')
implementation('org.springframework.boot:spring-boot-starter-validation')
implementation('org.springframework.boot:spring-boot-starter-web')
runtimeOnly('com.h2database:h2')
runtimeOnly('org.springframework.boot:spring-boot-devtools')
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
215: (ワッチョイ 2501-d0po) 2023/08/29(火)23:20 ID:HMbn0XNH0(3/3) AAS
すみません、自己解決しました。
ビルドに使う Gradle を 7.2 にしたら何故か出来ました。
ググると maven プラグインは 8 から廃止なので maven-publish を使えみたいな記事はあったのですが、
maven-publish と build.gradle の plugins に書いてもダメだったんですよね……。
根本的には解決していないのですが、とりあえずご報告でした。
216
(2): (ワッチョイ ff6b-j351) [hage] 2023/09/24(日)10:29 ID:Hs7TDocS0(1) AAS
int[] a={1,2,3,4,5};
という入れる変数を作ったんですが、プログラムの途中で
a={5,4,3,1,2};というふうにしたいんですができません。
いちいちa[0]~a[4]全部に代入しないといけないのでしょうか?
217
(1): (アウアウウー Sacf-PB4I) 2023/09/24(日)10:37 ID:2YTVyUlCa(1) AAS
ホイっ
外部リンク[html]:www.javadrive.jp
218: (ワッチョイ 3be4-h2iX) 2023/09/24(日)11:28 ID:1DaYlERU0(1) AAS
>>216
a[2]は代入しなくていいよ
219: (ワッチョイ bbb1-ZaUB) [637] 2023/09/24(日)15:59 ID:oTT98hcn0(1) AAS
>>217
参照って分かりにくいよな。
ぼーとしてると実体を見失うわ。
Cのポインター配列だとあり得ないけど。
220: (ワッチョイ daad-iLfk) 2023/10/08(日)06:01 ID:c7bH/Jal0(1) AAS
>>216
a の参照先を変えてしまっていいなら a = new int[] { 5, 4, 3, 2, 1 }; と書けば良い。それまで a の参照していた先のメモリはgcが自動で解放してくれるので考える必要はない。
a の参照先をそのままにしたいなら一つづつ a[0], a[1], a[3], a[4] に代入するかループ使って代入すれば良い。
221: (ワッチョイ 13e0-PwNk) 2023/10/15(日)20:27 ID:M+5szmup0(1) AAS
インプレースコピーで要素の入れ替え、みたいな話じゃないのか
222
(1): (ワッチョイ d117-iRXk) 2023/10/31(火)02:58 ID:NWeBFhUv0(1) AAS
設定ファイル(setting.config)があり、その中身が
pathA="D:\\Download";
pathS="G:\\Download";
pathC="Z:\\Download";
と各行にあるものを読み込み、各Pathに設定されたディレクトリを指定した変数に代入するプログラムを書こうとしています。
その場合、一般的にはどのように読み込み処理を書かれるのでしょうか?
223
(2): (ワッチョイ 13ad-zW/F) 2023/10/31(火)03:05 ID:obpiiey30(1) AAS
>>222
java.util.Properties クラスのインスタンスを作って load() でそのファイルを読んで getProperty("pathA") みたいにして内容を取り出す。
224: (ワッチョイ 81ee-iRXk) 2023/11/01(水)01:08 ID:QIM0oxL50(1/2) AAS
>>223
ありがとうございます。
225: (ワッチョイ 81ee-iRXk) 2023/11/01(水)01:08 ID:QIM0oxL50(2/2) AAS
>>223
ありがとうございます。
226
(1): (ワッチョイ 1910-KYV2) 2023/11/10(金)14:23 ID:ZmoDO33M0(1) AAS
intellij使ってメソッド定義する際に引数にOptionalを指定すると
「Optional<型>がパラメータ'変数名'の型として使用されています」って警告が出るけど
引数にOptional指定するのってよくない書き方なのかな?
227
(1): (ワッチョイ ff60-ljUV) 2023/11/11(土)20:17 ID:XF4CbZuB0(1/3) AAS
背景が黒くならないのは何故でしょうか?
public class ImageViewer extends JPanel implements Runnable {
private static int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;
private static int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;
private Thread thread;
public ImageViewer() {
thread = new Thread(this);
thread.start();
}
@Override
public void run() {
while (true) {
repaint();
}
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setBackground(Color.BLACK);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame();
frame.getContentPane().add(new ImageViewer());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(0, 0, screenWidth / 2, screenHeight / 2);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}});}}
228
(1): (ワッチョイ 1f90-nPbH) 2023/11/11(土)20:57 ID:D1g3ncRT0(1) AAS
>>227
paintComponentの中で塗りつぶししてないからじゃない?
今スマホだからメソッド名が分からないけど
fillXXとかいう名前のメソッドがGraphicクラスになかった?
229: (ワッチョイ ff60-ljUV) 2023/11/11(土)21:40 ID:XF4CbZuB0(2/3) AAS
>>228
ありがとうございます。
g2.clearRect(0, 0, getWidth(), getHeight());
を追記したらできました。
230: (ワッチョイ ff60-ljUV) 2023/11/11(土)22:53 ID:XF4CbZuB0(3/3) AAS
ちなみに、エクスプローラーの左側にフォルダ構成が表示できる「ナビゲーションウインドウ」はどのような方法で実装されいますでしょうか?
231: (ワッチョイ ffbd-sg3J) 2023/11/15(水)23:56 ID:8ll9Bxfa0(1) AAS
>>226
基本的にOptionalは戻り値として使うために作られたもので、引数として使うことを想定してない
一般的にも引数には使わないことが推奨されている(いろいろ議論はあるけど)
「引数がnullの時にデフォルト値を与える」みたいな使い方をしたくなるけど、それやると呼び出す側にOptionalで包むことを強制することになるので、かえって煩雑になったりするんだよね
1-
あと 140 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.810s*