Não sou dev Java mas acredito que seja igual ao C#:
- O lado esquerdo é o tipo da variavel, provavelmente você pode trocar por var (isso vai fazer o compilador declarar o mesmo tipo do lado direito).
- O lado direito é de fato a variavel que foi criada, a instancia.
- Se tornou List pq vc declarou como List, visto que ArrayList é uma implementação de List, ta tudo ok. A variavel object vai aceitar qualquer tipo que implemente a interface List mas você vai poder usar apenas os metodos de List.