Updated

Warner Bros. has announced that Jesse Eisenberg will play Lex Luthor in the studio's planned Superman-Batman film.

The casting of the 30-year-old Eisenberg was met with a wave of surprise on social media Friday. Eisenberg is a widely respected actor but isn't known for the kind of villainous gravitas that Gene Hackman brought to the role.

The Superman-Batman film is to be directed by Zac Snyder and many also questioned the choice of Ben Affleck for Batman. Reprising the role of Superman is Henry Cavill.

Snyder says Eisenberg allows the film to take Luthor in "some new and unexpected directions."

Jeremy Irons was also cast as Alfred, Bruce Wayne's loyal guardian. Alfred was played by Michael Caine in the "Dark Knight" trilogy.

The film is set to open in May 2016.