Warner Bros says 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 on Friday.
Eisenberg is a widely respected actor, but isn’t known for the kind of villainous gravitas that Gene Hackman brought to the role.
Oscar winner Kevin Spacey played Luthor the last time the character appeared on the big screen, in the 2006 movie Superman Returns.
The Superman-Batman film is to be directed by Zac Snyder. 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 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.