JAVA関連のことを調べてみた

JAVA関連のことを調べてみた

【Java】 ジェネリクスってなーに

## 目次

1. はじめに
2. ジェネリクスってなーに
3. 基本構文
4. メリット
5. 使用例
6. まとめ

# はじめに

MapをListで管理したくてググっていたら、ジェネリクスと呼ばれるものが出てきて感動したのでまとめてみました

※バージョンは17を使用しております

## ジェネリクスってなーに

・型安全性を高めて、実行時エラーを防いでくれる素晴らしい機能
・クラス、インターフェースやlist、map等のコレクションフレームワークなどで使用できる
・ListやMap等に格納するデータ型を明示的に指定することができる

### 例で理解するジェネリクス

散らかった物を片付ける箱に、何を入れるかの規則を作らなければ何でも入れることができますが、何が入っているかわからなくて物の管理ができていない状態になってしまいます。
これでは次に使う際に困ってしまうので、箱に入れる物を決めて片付けを行います。そうすると、異なる箱に物を入れてしまったときに、入れる場所が違うことに気づくことができるので、物を正しく明確に管理することができます。

箱に何を入れていい物を決める行為が

元記事を表示

【最新版】JavaでArrayIndexOutOfBoundsExceptionっていうエラーが出たときの対処法

# はじめに
こんにちは。RaimuProjectのやむぅです。
今回は、Javaのコーディング中に起きたエラー「java.lang.ArrayIndexOutOfBoundsException」の解説や対処法についてお話ししていきます。
どんな不具合なのか、どうやって調査・対処すればいいの?という人向けに書いたものです。ぜひ読んで見ていただけると嬉しいです。

※ ちょこっと紹介!
現役エンジニアの僕が教える、フルスタックエンジニアを目指せるスクールを運営しています。
プログラミング初心者の方やリスキリングを考えている方にぜひ!

https://programing-factory.raimuproject.com/lp

# 開発環境
今回僕のMacを使っています。
そのためショートカットキーを使う際、WindowsのPCを使う人は以下のように変換して記事を見てください。
| Mac | Windows |
|:———–|————:|
| ⌘(Cmd) | Ctrl |
| ⌥(Option) | Alt

元記事を表示

【最新版】JavaでNullPointerExceptionっていうエラーが出たときの対処法

# はじめに
こんにちは。RaimuProjectのやむぅです。
今回は、Javaのコーディング中に起きたエラー「NullPointerException」の解説や対処法についてお話ししていきます。
どんな不具合なのか、どうやって調査・対処すればいいの?という人向けに書いたものです。ぜひ読んで見ていただけると嬉しいです。

※ ちょこっと紹介!
現役エンジニアの僕が教える、フルスタックエンジニアを目指せるスクールを運営しています。
プログラミング初心者の方やリスキリングを考えている方にぜひ!

https://programing-factory.raimuproject.com/lp

# 開発環境
今回僕のMacを使っています。
そのためショートカットキーを使う際、WindowsのPCを使う人は以下のように変換して記事を見てください。
| Mac | Windows |
|:———–|————:|
| ⌘(Cmd) | Ctrl |
| ⌥(Option) | Alt |
| ⇧(Shift) |

元記事を表示

【Java】nextLine()の入力ができない場合

# 目次
この記事は3分ほどで読めます。
[1. 入力ができない場合のコード例](#1-入力ができない場合のコード例)
[2. 原因](#2-原因)
[3. 解決方法](#3-解決方法)
[4. おわりに](#4-おわりに)

# 1. 入力ができない場合のコード例
“`
package develop;

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {

// 年齢読み取り
System.out.println(“あなたの年齢を入力してください”);
int age = scanner.nextInt();
System.out.println(“年齢「” + age + “」”);

// 名前読み取り
System.out.println(“あなたの名前を入力してください”);

元記事を表示

SpringBoot_@sizeのついたパラメータにnullを渡した場合

## 背景
必須ではないリクエストパラメータに対して、`@Size`を指定した場合、そのパラメータに`null`を渡したらエラーになるのか気になり調べた。

## 1. `@Size`の動作と`null`の扱い
`@Size`アノテーションは、対象となるフィールドの文字列の長さを制約しますが、`null`に対しては制約を適用しません。

つまり、`@Size(min=10, max=12)`が付与されたフィールドに`null`が渡された場合、エラーにはならず、バリデーションはスキップされます。

#### 例:
“`java
import javax.validation.constraints.Size;

public class ExampleRequest {

// 必須ではないが、値がある場合は最小10桁、最大12桁に制限
@Size(min = 10, max = 12)
private String param;

// Getter and Setter
}
“`

上記のコードでは、`param`フィールドが`null`の場合

元記事を表示

Gradleプロジェクトのエラー: JRE System Libraryやビルドパスの問題をまとめてみた

## 前置き

![スクリーンショット 2024-10-11 10.58.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3796362/7e4ecc2f-bd03-9b5b-2759-7064d0dc18c0.png)

“`
Project configurator ‘org.eclipse.buildship.configurators.base’ failed to configure project
Unbound classpath container: ‘JRE System Library [JavaSE-21]’ in project
The project cannot be built until build path errors are resolved
“`

このようなエラーが起きていた。

## 原因1: JREのバージョンが一致していない
このエラーのよくある原因は、プロジェクトで指定しているJavaバージョン(JRE)と、実際に使用されているJREのバージョ

元記事を表示

Java, JDK, JRE, Spring Boot, GraalVMの違いをまとめてみた

# Java, JDK, JRE, Spring Boot, GraalVMの違いをまとめてみた

Javaを使った開発をしていると、JavaやJDK、JRE、そしてSpring BootやGraalVMといった言葉をよく耳にします。これらの用語は関連性がありながら、それぞれ役割が異なっています。今回は、これらの違いや関係をシンプルにまとめてみました。

## Javaとは?
Javaは、プログラミング言語の一つで、”Write Once, Run Anywhere” というスローガンの通り、一度書けばどのプラットフォームでも動くのが特長です。Javaのコードは、まずコンパイルされてバイトコードという中間コードに変換され、Java仮想マシン (JVM) 上で実行されます。

ポイント:
– プログラミング言語
– JVMで実行される
– クロスプラットフォーム対応

## JDK(Java Development Kit)とは?
JDKは、Javaで開発を行うためのツールキットです。Javaプログラムのコンパイルと実行を行うために必要なツールがすべて含まれています。

### JDKに

元記事を表示

演算子について

今回は演算子について記事にしたいと思います。

1. 算術演算子
算術演算子は、数値に対する基本的な四則演算を行うための演算子です。

演算子 説明 例
+ 加算(足し算) a + b
– 減算(引き算) a – b
* 乗算(掛け算) a * b
/ 除算(割り算) a / b
% 剰余(割った余り) a % b
“`java
int a = 10;
int b = 3;
System.out.println(a + b); // 13
System.out.println(a – b); // 7
System.out.println(a * b); // 30
System.out.println(a / b); // 3 (割り算の結果は整数の商)
System.out.println(a % b); // 1 (10を3で割った余り)
“`

2. 代入演算子
代入演算子は、右側の値を左側の変数に代入するために使用されます。

演算子 説明 例
= 代入(右の値を左の変数に代入) a = 10
+= 加算して代入 a += 5
-= 減算して代入 a -=

元記事を表示

SpringBootでとりあえず業務アプリを自作してみた ~TOP・ユーザ検索編~

前回までで、作成したアプリをWEBアプリとして公開しました。

その後、少し機能を追加してみたのでまとめます。

トップ画面

ユーザの登録機能を作成しました。
最初はログイン画面に設置していましたが
ログイン後の画面に設置しなおしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901612/4039135c-9300-fbe0-dc8e-fbec63995467.png)

トップページにはまだ何も置いていません。
お知らせ機能とか、カレンダーとか置きたいなと思っていますが
これから徐々に機能を増やしていきたいなと思っています。

前回までの記事でも記載しましたがログイン機能はSpringSecurityを使用しました。

手を動かしてコーディングをするのが数年ぶりなのと
SpringBootでアプリを作成するのが初めてなので
色々探り探りで躓きながらですが作成を進めています。

右上の「山田 太郎」はcontrollerから受け取ったログインユーザの名前が出るようにし

元記事を表示

Javaのフレームワークとは?代表的なフレームワークの解説

# ■ はじめに

Javaには企業向けのものから小規模アプリケーションまで幅広いシステムを効率的に開発するために、
フレームワーク[^1]というものが多数存在します。
フレームワークを用いることで共通処理を簡単に実装でき、開発スピードや保守性が向上します。

この記事では、Javaの代表的なフレームワークについての概要とメリットを解説します。

# ■ 目次

1. [Java Frameworkとは?](#1-java-frameworkとは)
2. [代表的なJava Framework](#2-代表的なjava-framework)
3. [フレームワークを使うメリットとデメリット](#3-フレームワークを使うメリットとデメリット)
4. [まとめ](#4-まとめ)

# 1. Java Frameworkとは?

Javaフレームワークはアプリケーション開発においてよくある共通作業を自動化・簡略化するためのツールです。
効率的な設計や保守が求められる現在の開発においてはフレームワークの利用は欠かせないものとなっています。

フレ

元記事を表示

JAVA / Spring と Spring Boot の違いとは?

# ■ はじめに

Javaフレームワークの中でも、`Spring` と `Spring Boot` はよく使われています。
しかし、SpringとSpring Bootの違いをきちんと理解している人は意外と少ないかもしれません。
この記事では `Spring` と `Spring Boot` の違いを簡潔に解説し、どのような場面でどちらを使うべきかについても紹介します。

そもそものフレームワークとは何か?については以下の記事を作成していますので
こちらをご確認ください。

https://qiita.com/e-tak/private/3ad403b04bf79a9ead62

# ■ 目次

1. [Spring Frameworkとは?](#1-spring-frameworkとは)
2. [Spring Bootとは?](#2-spring-bootとは)
3. [SpringとSpring Bootの違い](#3-springとspring-bootの違い)
4. [どちらを使うべきか?](#4-どちらを使うべきか)
5. [まとめ](#5-まとめ)

元記事を表示

わかりやすいプログラムを書くための3つのポイント

今回はわかりやすいプログラムを書くための3つのポイントを記事にしたいと思います。

1,
コメント:プログラム内のメモ書き
//コメント ⇒一行のコメント
/*コメント*/⇒複数行のコメント

2,
フォーマット: プログラムの体裁
-ブロックの開始・終了や処理分
ごとに改行する
-タブや半角スペースで
字下げ(インデント)する

3,
命名ルール:名付けの慣習
-1文字目
クラス・インターフェース・:大文字
変数・メソッド・パッケージ:小文字

-2つ目以降の単語は
大文字から

今回はわかりやすいプログラムを書くための3つのポイントを記事にしてみました。

元記事を表示

【JUnit】Serviceクラス

## 1.はじめに
JUnitのテストを書いている中で、サービスクラスは何を確認しているのかwhenとverifyはどういう違いがあるのかを理解するために記事を書いていければと思います。
間違い等ございましたら、ご指摘いただけますと幸いです。

## 2.Serviceクラスの単体テスト
Serviceクラスでは何を確認すればよいのかという疑問について解消できればと思います。

Serviceクラスのテストで確認することとしては下記になるようです。

**<メソッドの結果は正しいか>**
サービスクラスのメソッドが正しい値を返しているかを確認します
簡単な例でいくと計算結果が正しいかどうかなど ↓
“`TestService.java
@Test
void testCalculateTotal() {
int total = service.calculateTotal(10, 20);
assertEquals(30, total);
}
“`

**<依存するクラスとのやり取りが正しいか>**
・サービスクラスが他のクラス(リポジトリや他のサービスクラス)に依存

元記事を表示

eclipseでクラス図を描く方法

## eclipseでクラス図を描く方法

### この記事でわかる・できること


org.mybatis.generator
mybatis-generator-core
1.4.0

OTHERカテゴリの最新記事