JAVA関連のことを調べてみた2023年07月18日

JAVA関連のことを調べてみた2023年07月18日

[Java] toString()

# toString()とは
* Javaのすべてのクラスが持っているメソッド
* 文字列表現を返すメソッド
* valueOf()とは違いnull値を返さない
* 参考 : [文字列と数値の交換](https://qiita.com/smartPG/items/40a2bdca0e1a2e294404)

# toString()メソッドの使い方
* 例として整数を文字列に変換
“`java:Integer.toString()
int num1 = 1010;
int num2 = 1111;
String str1 = Integer.toString(num1);
String str2 = Integer.toString(num2);
System.out.println(str1 + str2);
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2726212/cd9e5911-35f3-c1b0-9fb2-8ad370cf63bf.png)

# toString

元記事を表示

【自主制作】第一回Webアプリケーション開発日記

# はじめに

初めまして。takunと申します。
この記事では個人的なWebアプリケーションを開発したプロセスと困難だった点についてまとめていく内容となっております。

私は4月から某SES企業にIT未経験での転職をした初心者エンジニアです。間違ったことや不適切な内容となってしまう可能性もあることをご承知ください。また、助言など頂けると嬉しいです。
また、心の声ダダ漏れな日記となっていますので苦手な方はご注意ください。

# 目次

① Webアプリケーション制作に至った経緯
② 概要・設計について
③ 今後の必要な機能、知識について

# ①Webアプリケーション制作に至った経緯

2つ理由があります。
 
1つ目は研修中に制作したものとは全く違うWebアプリを作りたかった。

> 私:入力フォーム、ショッピングサイト、クイズゲームを作るのもいいけど似たようなものばっかりでなんかなあー。オリジナリティのあるアプリ作ってみたいな。
> 私:エンジニアとして人の役に立つものを作れないかな。何か困ってることある?
> 隊長(彼女):あーそれなら作ってほしいのあるよ!

2つ目は案

元記事を表示

【JavaGold】Futureインタフェース

## 概要
新しく生成したスレッドの外部操作を可能とするインタフェースである。
非同期のタスクを実行し、その結果を取得やキャンセルするための機能を提供する。

#### 主なメソッド

– `V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException`
:タスクの実行結果を取得する。

:::note warn
指定されたタイムアウト時間内に結果が利用できない場合は`TimeoutException`がスローされる。
:::

##### 例

“`java
import java.util.concurrent.*;

public class FutureExample {

public static void main(String[] args) throws InterruptedException, ExecutionException {
ExecutorService executorService =

元記事を表示

[Spring Data JPA] Specificationを利用して動的なクエリ生成を実現する

# はじめに

Spring Data JPAのSpecificationを利用した実装例を作りました。どのように利用するか、どのあたりが便利かなどを整理したいと思います。結論としては、他のクエリの表現方法に対して柔軟性が高い点やプログラマティックに書ける点がSpecificationの特徴だと考えています。この特徴は検索条件が複雑になりがちな画面に応えるAPIを作る際に有用だと考えています。

なお、頭からリファレンスを読んで理解しているというよりプロジェクトで使いながら使い方を覚えているところもあり、誤った理解をしている箇所などあるかもしれません。

# 作ったもの

https://github.com/Showichiro/jpa-specification-example

# Spring Data JPAにおいてよく見るクエリの実装

– CrudRepository/ListCrudRepository経由での実装
単純なCRUD操作であれば、これらのインターフェースを継承することでCRUD機能を実現できます。Qiitaの記事などではJpaRepositoryを継承

元記事を表示

軽い気持ちでJavaが触れる環境を提供したい

## この記事を読んで得られるもの
VScodeのエディタを使って、とりあえず動くJavaのDocker環境

## 対象者
– Java触ってみたいけど、環境構築めんどくさいなって人
– ローカル環境を汚したくない人
– IDEを入れるのが嫌な人

## ディレクトリ構成
“`
– java
|- Dockerfile
|- HelloWorld.java

“`

## 環境構築

1. Dockerfileを作成
“`Dockerfile
FROM openjdk:11-jdk
WORKDIR /workspace
“`
1. javaのファイルを作成
“`HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println(“Hello, World!”);
}
}
“`
1. イメージをビルド
“`b

元記事を表示

SQL取得時にネスト化されたリストオブジェクトに同時にマッピングする方法

# 0.はじめに
ORマッパーとしてMybatisはメジャーと思いますが、これまであまり有効な使い方をしてこなかった方もいるかもしれません。
Java側から変数をバインドさせるとか、受け取ったDB取得結果をオブジェクトにマッピングするとか、if文で条件を可変にするとか。(私はその程度でした。。)
実は、ORマッパーはもっと複雑なこともマッピングしてくれて、その分楽になるんだよというような内容のご紹介になります。

## 1.概要
Model型のListかつ、Modelの中にもList型が内包されているようなリストの中にリストがネストされているオブジェクトの場合にDBから取得したデータを設定していく際には取得結果のForループに加えて、内包されているList型も設定していくためのForループが必要になる為、二重ループさせる必要があります。

もちろんこの実装でも誤りではありませんが、実装が増えることで可読性が下がったり、テストする際の確認ケースが増えたりコードが増えることによるバグのリスクがあがる可能性があるため、減らせるならば極力実装をシンプルにするほうが好ましいと思われます。

My

元記事を表示

【自作アプリ 第三期】

今回も前回の 【自作アプリ 第二期】 に引き続き画面のキャプチャを元に実装機能の解説をしていこうと思います。加えてこれからの方針も説明できればと思います。

#### 集計画面
【収支管理画面からの遷移を踏まえて説明】
![収支確認画面➀ 第三期.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2918178/29186660-ce08-6ac5-1d5a-ba2d0691cf8d.png)

![収支確認画面➁ 第三期.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2918178/70a47f92-6e74-667a-8ae1-117e7610bcef.png)
↑「ボタン」列の「集計」ボタンを押下する

##### ➀不動産の「集計」ボタンを押下した場合
![集計画面「不動産」 第三期.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29

元記事を表示

JavaでWord文書を画像に変換

Word文書を画像に変換すると、Word文書の書式やレイアウトが保持されるため、さまざまなデバイスで表示でき、文書の体裁も変わりません。 これにより、Word文書の閲覧や共有が容易になるほか、ポスターの作成、販促資料の作成、スライドショーの作成など、より多くのシーンで文書を活用できるようになります。 また、Word文書を画像に変換すると編集が困難になるため、文書の内容をある程度保護することもできます。 今回は、無料の[Free Spire.Doc for Java](https://jp.e-iceblue.com/introduce/free-spire-doc-for-java.html)を使って、**Word文書の各ページを画像に変換**する方法を紹介します。

– **[Word文書をPNG画像に変換する](#word文書をpng画像に変換する)**

### 【依存関係の追加】
この記事の方法は、無料のWord文書処理Java API Free Spire.Doc for Javaが必要です。このAPIは、[公式サイト](https://jp.e-iceblue.com/do

元記事を表示

日本語トランスコンパイラ言語 Re:Mind(リマインド)の試作バージョンを日本語ロジック仕様記述言語 Re:Mindで内部設計する(ターゲット言語Java)

# はじめに
2023年の1月下旬よりQitta様へ参加させていただき、[自作言語 Re:Mind(リマインド)の企画趣旨をQitta内の記事](https://qiita.com/mylifewithviolin/items/9d58db8a101807c19bde)でご説明させていただいております。まだ実装がなにもないので、そろそろ試作に着手しようかと考えております。本記事はその試作品の内部設計情報で、ターゲット言語をJavaとしています。

## この記事内容の作業目的
試作にあたって内部構想を、[日本語ロジック仕様記述言語 Re:Mind](https://qiita.com/mylifewithviolin/items/52f806777e6ea031de94)で記述しておきます。本試作範囲は策定仕様のごくごく一部です。ターゲット言語は一部のみ対応、言語の対応ソース構文も超限定的です。

## この記事内容の保証
※この記事には仕様的な情報が含まれます。自作言語はまだ設計開発中のため、発案者による実装は存在しません。本記事に開示された仕様は次バージョンの仕様においては予告な

元記事を表示

Java-StreamAPI-黒本で間違えた問題を理解する

### 前置き
JavaGold資格取得のため、黒本4章でStreamAPIで主が間違えた問題を勉強していきます。
今回は自分のためのほぼメモなので読めたもんじゃないです。

> 問 OptionalクラスのifPresentOrElseTestメソッドに渡す引数の型の組み合わせとして正しいものを選べ

「型の組み合わせ?知るか!」
「ifPresentOrElseメソッドじゃなくて?ifPresentOrElse”Test”メソッド!?」

…解説見たら一応納得できた
以下サンプルコード。

“`java
import java.util.Optional;

public class ifPresentOrElseTest {
public static void main(String[] args) {
Optional sample = Optional.empty();
sample.ifPresentOrElse(
(str) -> System.out.println(str), //

元記事を表示

[Azure] Container Apps 機能調査

## Azure Container Apps

Azure Container Appsは、Azure上でコンテナベースのアプリケーションを初めて構築する開発者やエンジニアに向けたサービス。以下に、Azure Container Appsの概要と主な機能について詳しく説明する。

### 概要
Azure Container Appsは、コンテナ化されたアプリケーションのデプロイや実行を簡素化するためのパス(PaaS)サービス。このサービスは、開発者がアプリケーション自体に集中することができるよう、インフラストラクチャの詳細を隠蔽している。Azure Container Instancesをベースにしており、コンテナのスケールやネットワーキング、セキュリティなどの管理を自動化する。

### 主な機能
1. **コンテナのデプロイと実行**: Azure Container Appsは、独自のデプロイメントテンプレートを使用して、コンテナイメージを自動的にデプロイし、実行します。開発者は、ローカルで作成したコンテナイメージをAzure Container Registryにアップロー

元記事を表示

Javaの基礎知識について確認してみた

# 概要
Javaの基礎知識について確認してみました。以下のページを参考にしました。

Javaの基礎知識

https://www.javadrive.jp/start/const/

クラス、メソッド、フィールドとは

https://www.javadrive.jp/start/const/index2.html

mainメソッドとは

https://www.javadrive.jp/start/const/index3.html

文の記述と空白や改行の扱い

https://www.javadrive.jp/start/const/index4.html

コメントを記述する

https://www.javadrive.jp/start/const/index6.html

Javaの予約語

https://www.javadrive.jp/start/const/index7.html

System.out.printlnとは

https://www.javadrive.jp/start/const/index8.html

import文の使い方

https

元記事を表示

JSP/ServletでWebアプリを作ってみた

# はじめに
今回も駆け出しのエンジニアが記載する内容となりますが、開発の手順やHTTPやWebサイトの基礎を理解するための学習手段として自作のWebアプリを作成してみました。
個人的に興味のあるお菓子のレシピ投稿アプリになります。

こちらの記事では、以下の目次の通りJSP/Servletの特徴や、制作したアプリケーションの機能などをご紹介していきたいと思います。

### 目次
– [JSP/Servletとは](#jspservletとは)
– [JSPの特徴](#jspの特徴)
– [Servletの特徴](#servletの特徴)
– [使用した環境・言語](#使用した環境言語)
– [構造とデータフロー](#構造とデータフロー)
– [機能の詳細](#機能の詳細)
– [ページング機能](#ページング機能)
– [お気に入り登録機能](#お気に入り登録機能)
– [画像アップロード機能](#画像アップロード機能)
– [アプリケーションの実行例](#アプリケーションの実行例)
– [まとめ](#まとめ)

# JSP/Servletと

元記事を表示

Javaラムダ式

# Javaのラムダ式

関数型インターフェイスを実装したクラスのインスタンスを、簡単に作るための文法です。
言い換えれば、クラスの宣言とインスタンスの生成を同時に行う文法。

Javaのラムダ式で関連するのは、関数型インターフェース、またこの関数型インターフェースは抽象メソッドを一つだけもつ。

1つだけというところがポイント。

# 通常のクラスからラムダ式になるまで

https://www.bold.ne.jp/engineer-club/java-lambda-expression

こちらを参考に学んでみました。

## 第1段階(内部クラス)

“`java
import java.util.*;

public class Main {
public static void main(String[] args) throws Exception {

class ComparatorImpl implements Comparator {

元記事を表示

JavaーStreamAPIー2章

### 前置き
最近は暑くて外出する気にもなりませんね…
田舎者の私は川までドライブして涼んでいます(*´Д`)

今回は前回に引き続き「StreamAPI」についてです。

###「StreamAPIってなに?」
> コレクションを扱う時に要素を一つずつ取り出して、何らかの処理を加え、特定の要素だけを取り出したり、配列に変換したり、コレクションを詰め替えたりすることがよくあります。
StreamAPIではこれらの処理をメソッドとラムダ式で記述することでコードをより簡潔にできます。 –黒本解説より引用

「簡単に書けるってことは理解も簡単ってことよね!?」

>StreamAPIでは取り出しった要素に加える処理のことを「中間操作」、
中間操作を終えた要素の集合に対して行う最終処理を「終端操作」と呼びます。
これらの操作は、StreamAPIの基本となる機能をまとめたjava.util.stream.Streamインターフェースに定義されており、次のような種類があります。 –黒本解説より引用

#### 【中間操作の種類】
| 処理を行うメソッド | 概要 |
|:-:|:-:

元記事を表示

ModelMapperでBeanマッピング

# ModelMapperを利用してオブジェクト間の変換を行う

DBから取得してきた値をHTMLに返すとき、画面で入力した値をDBに挿入するときなどに有効である

### 変換ができるように設定する

今回は、以下の内容で行う

– Date→Stringは、yyyy/MM/ddで変換する
– String→LocalTimeは、秒ありなしで分ける
– Boolean→Stringは、0と1に変換する

“`java:ModelMapper
import java.text.SimpleDateFormat;
import java.time.LocalTime;
import java.util.Date;
import java.util.Locale;
import java.util.Objects;

import org.apache.commons.lang3.StringUtils;
import org.modelmapper.AbstractConverter;
import org.modelmapper.Converter;
import org.model

元記事を表示

[Java] javadoc

# javadocとは
* javaソースコードの説明書
* HTML形式のAPI仕様書

# 使い方
* 先頭が「/**」で、後尾は「*/」でコメントを囲む
* 「@」がついたタグが用意されている
* 例「@‌author」はプログラム製作者を表す
“`java:製作者
/**
* @author Oriko
* /
“`

# 注意
* 余計なことまで書けるから冗長なドキュメントになるかもしれない

# おわり
* これを書くことでjavaのソースコードが読みやすくなる

* 参考文献

> [Javadoc ドキュメンテーションコメントの書き方](https://qiita.com/maku77/items/6410c67ce95e08d8d1bd)
>
> [【Java】Javadocってなに?](https://qiita.com/mzmz__02/items/0a5b8f10a03258641f9d)

元記事を表示

Javaでプログラムの作成手順の動作を確認してみた

# 概要
Javaでプログラムの作成手順の動作を確認してみました。以下のページを参考にしました。

Javaプログラム作成手順

https://www.javadrive.jp/start/before/

Javaを使ったプログラムの作成と保存

https://www.javadrive.jp/start/before/index2.html

プログラムをコンパイルしてクラスファイルを作成する

https://www.javadrive.jp/start/before/index3.html

Javaのプログラムを実行する

https://www.javadrive.jp/start/before/index4.html

# ソースファイルを作成しコンパイルし実行する
以下のファイルを作成しました。
“`JSample3_1.java
class JSample3_1{
public static void main(String[] args){
System.out.println(“Hello”);
}
}
“`

以下のコマンドを実行しました

元記事を表示

C言語系(Java C# Ts Go) 日本語系(Mind DNCL プロデル なでしこ)各言語構文を比較して自作言語Re:Mindの構文を定める(try~catch文)

# はじめに
Java C# Ts(TypeScrpt) GoといったC言語を由来とする新旧のプログラミング言語とMind なでしこ DNCLなどの日本語プログラミング言語の制御構文を比較して自作言語Re:Mindの構文を定めます。今回はtry~catch文。いわゆる例外処理に関連する構文です。

自作言語Re:Mindの詳しい利用シーンのイメージは[こちらへ](https://qiita.com/mylifewithviolin/items/9d58db8a101807c19bde)。すみません、[設計段階です。](https://qiita.com/mylifewithviolin/items/9214582528edcbd606ad)日本語プログラミング言語で、C言語を由来とする新旧言語へのトランスコンパイラ言語です。

## この記事内容の作業目的
今回は各言語のtry~catch文の構文を比較検討します。プログラミング言語によっては、例外処理をサポートしない場合がありますので、トランスパイラ言語としてはこのあたりをどうさばくかが問題となります。ただし、主たるターゲット言語をJ

元記事を表示

ABC310A~Eの解答[Java]

## はじめに
今回はコンテスト中にEまで解けたのでそれを載せようと思います。

では、見ていきましょう。
なお、僕のライブラリは[提出結果](https://atcoder.jp/contests/abc310/submissions?f.Task=&f.LanguageName=Java&f.Status=AC&f.User=viral)よりご確認ください。

## A – Order Something Else
問題文は[こちら](https://atcoder.jp/contests/abc310/tasks/abc310_a)

$\mathrm{min}(P,Q+D_i)$を求めて出力してあげれば良いです。
“`A.java
final class Main {

private static final boolean autoFlush = false;
private static final SimpleScanner sc = new SimpleScanner( System.in );
private static final SimplePrin

元記事を表示

OTHERカテゴリの最新記事