エンジニアのひよこ_level10

【毎日更新!】新卒3年目エンジニアブログです!

Java

【SpringBoot】setViewNameを省略した場合の挙動【881日目】

RequestMappingでコードを書く @RequestMapping(value = "/login", method = RequestMethod.GET) public ModelAndView index(ModelAndView mav) throws IOException { mav.setViewName("login"); return mav; } こんな感じになる。 これで、 /login にアクセ…

【Java】通常のクラスではなく、意味のあるクラスに書き換える【862日目】

今回の差分のコミット github.com 通常のクラスを使っていた // tableを作成 List<List<String>> table = new ArrayList<List<String>>(); List<String> th_row = new ArrayList<String>(); このように、Listなどの標準のクラスを使っていました。 変数の名前だけに意味を持っていたので、各クラスを新</string></string></list<string></list<string>…

【Java】jdk1.13でビルドしても、jre1.8で動かすことができるよって話【861日目】

Javaのバージョン違い 開発をするときに、Javaのバージョンが新しいと、利用する側も新しいバージョンしか動かないと思ってました。 なので、Java1.13で開発をすると、他の人使えないのでは? 専用の仕様で変える 新しいjdkで開発しても、過去のバージョンで…

【Java】.classファイルを読める形式にする【853日目】

.jarを解凍したら…… 前回の記事で.jarファイルから、コンパイル後の.classファイルを取り出すことができた。 ただ、このままだとコードが読めない。 どうするのか。 JAD等でデコンパイル コンパイルしたものを元に戻すツールを使ってみよう https://varaneck…

【Java】.jarファイルを解凍して中身を見る【852日目】

.jarファイルを見たい 諸事情で、.jarファイルの中身を見たい。 (classファイルとかコンパイル後だから、このままだとあまり意味は無いが) .zipと同じ 拡張子を.zipにする いつもどおり解凍をする すると、中身が見れますφ(・・ 中の.classファイルはコンパイ…

【Java】char(文字)とString(文字列)の違い【848日目】

charとString 文字列の扱いがJavaではいろいろあります。 その時のcharとStringに注目して比較してみましょう。 char 文字。 aとかbとか一文字のもの 'a'とかシングルクォーテーションでくくる クラスではなくプリミティブ型 Charクラスは別に存在する。こち…

【Java】packageとimportの役割。PHPと比較【847日目】

packageとimport package item; import htmlitem.Td; public class Table { Td td = new Td(); } こんな感じに、packageとimportがある。なにするか。 importは使用するクラスの指定 ■PHPだと、 useの機能に近いもの。 import java.util.Map; import java.ut…

【Java】インスタンスを初期化してから変更するなら再生成しよう【846日目】

初期化を繰り返した 自分が書いたプログラムに、以下のようなコードがありました。 for (int i = 0; i < max_row; i++) { for (int j = 0; j < max_column; j++) { row.add("{r:" + i + " c:" + j + "}"); } table.add((ArrayList<String>) row.clone()); row.clear(</string>…

【Java】ArrayListのclone()の戻り値がObjectの理由(リリース時期)【845日目】

ArrayListのcloneの実装に疑問を持った Javaは、基本のライブラリはソースコードが見れますので、コードを追ってました。 ArrayList.class /** * Returns a shallow copy of this {@code ArrayList} instance. (The * elements themselves are not copied.) …

【Java】CollectionとListとArrayListの違い【844日目】

ListとArrayList? Javaで複数データを扱うときに、ListとかArrayListとか出るけど、何が違うのか。 全部ArrayListでいいのでは?なんでそうしているのか interfaceと実際のクラス public interface Collection<E> extends Iterable<E> { public interface List<E> ex</e></e></e>…

【SpringBoot⇔Laravel】環境構築。SpringBootを学んで、Laravelと比べてみる【837日目】

SpringBoot始めました ちょっと気になってたSpringBoot。 最近Javaが出来る人が近くに増えたので、教えてもらうことにしました! ということで、まずは環境構築をしてみました。 環境構築 やったことは、こちらの記事を参考にして始めました。 qiita.com 私…

【Java】オーバーロードって『なんのために』あるもの?【665日目】

注意。 自分なりの理解ですφ(・・ オーバーロードって? 処理を場合によって変えるとかって話ではなく、 同じ概念だけど、挙動が違うのを実装する。多態性を実現するためのものって話なのかなって一つ自分の中で結論φ(・・ 『同じ概念』であるのは一番重要かな?…

【Java】型をあとで指定する。<T>ジェネリクス【280日目】

注意 メモ書きです。 どんなやつ? new ArrayList<String>() こんな感じに、あとで型指定できるように書いたことあるよね。 実装こうする class ClassName<T> { private T val; } これで<>の中に書かれた型がvalの型になる 何が嬉しい? イテレーターパターンとか、イン</t></string>…

Docker使って、Javaをbashで動かす【169日目】

事前準備 dev.classmethod.jp こちらを参考に、公式イメージを使えるようにする Dockerfile javaのエンコードを打ち込むの面倒だったので.bash_profileに無理やりalias。 あとでヒアドキュメント構文とかで書き直したい。 FROM store/oracle/serverjre:8 RUN…