Heath Ledger as the Joker.
Robert Downey, Jr. as Tony Stark.
Jesse Eisenberg as Lex Luthor.
Marrying a beloved character with a living, breathing actor is always going to be a controversial process—especially if you’re trying to reinvent them to a degree. Your movie won’t be out for a year or more, and now irate fans have all the time in the world to mock even the idea that this person could become their favorite character. This guy, as the Joker?? Are you serious??
Part of the problem is that characters in print media, especially comics, can look vastly different depending on who’s illustrating them—my ideal Tony Stark may be nothing like your ideal Tony Stark, and we could both have valid points because all there really is to go on is “white, black hair, goatee”. That’s why taking a slightly askew angle with your casting can be such a powerful move—in Downey’s case, launching an entire filmic universe on the back on one man’s likeability—because it imbues a distinct human element to what is often, honestly, a very bland sketch of a person. People freaked out about Jesse Eisenberg being cast as Lex Luthor in the Batman/Superman movie, and hey, that movie may yet be a train wreck, but Eisenberg screams “rich asshole” to the moviegoing public already (much like Downey screamed “hard living”), and that’s far more important to producing a resonant Lex Luthor on the big screen than whether he’s old and/or bald enough. Admittedly, it’s hard for me to say what Christopher Nolan saw in Heath Ledger that screamed “Joker”, but hell if he wasn’t proven right.