Sri Lanka name different captains for Test, ODI and T20 sides
Batting all-rounder Dhananjaya de Silva (32) will be Test skipper while Kusal Mendis (28) will lead the ODI team and Wanidu Hasaranga (26) will captain the Twenty20 squad.
It is the first time that Sri Lanka will have separate skippers for all three formats.
"I would have preferred to have the same captain for all three formats," chief selector Upul Tharanga told reporters in Colombo.
"But we are unable to do that at the moment with the players we have."
Selectors had resolved to retain Mendis through to the next ODI World Cup in 2027, Tharanga said, despite finishing second from bottom at last year's showpiece in India.
Mendis took over after the last-minute injury withdrawal of Dasun Shanaka and Tharanga said Shanaka had not considered for the captaincy due to performance issues over the past two years.
Hasaranga will lead the side for the T20 World Cup starting in June in the West Indies and United States.
The latest selection announcement came ahead of white ball series against Zimbabwe starting Saturday.
Following that Sri Lanka will host Afghanistan for three T20s, three ODIs and one Test match.
Sri Lanka ODI squad to play Zimbabwe: Kusal Mendis (captain), Charith Asalanka, Pathum Nissanka, Avishka Fernando, Sadeera Samarawickrama, Sahan Arachchige, Maheesh Theekshana, Dilshan Madushanka, Dushmantha Chameera, Dunith Wellalage, Pramod Madushan, Jeffrey Vandersay, Akila Dananjaya, Wanidu Hasaranga.