>ArrayList<String> stringList = new ArrayList<>();

しかしなんでこの文法になったんだろうな。
曖昧さ解決なら
ArrayList<String> stringList = new();
で良かったんじゃないかと思う。
省略カ所を他の言語と敢えて逆にしたんだから
何か理由が有ったのだろうけど。