Jonah 1:17 Now the LORD had prepared a great fish to swallow up Jonah. And Jonah was in the belly of the fish three days and three nights.
Matthew 12:40 For as Jonas was three days and three nights in the whale's belly; so shall the Son of man be three days and three nights in the heart of the earth.
"A whale is not a fish and no fish is a whale." So says one Skeptic on this one, but the objection grounds on the same issues that the old "bat isn't a bird" (link below) allegation does: It is taking the categories of modern biology, an innovation of the last few centuries, and is forcing them upon texts written long, long before people thought in those fashions. This is not the way to approach an ancient text.
Furthermore, it assumes that the biological classification system of today forced on the text is somehow objectively "right" and any departures from it are objectively "wrong". But this is not true. Our systems of classification are convenient, useful, and they make sense for our modern scientific pursuits. But they are not ontologically "correct".
We can go along with the statement that "a fish is not a whale and a whale is not a fish" if we are speaking with respect to modern classifications. But the Biblical texts in question know nothing of such classifications. .
This is also a fallacy of basing an allegation on a translation instead of on the original languages. Not only that, but an English translation of the Hebrew, Aramaic, and Greek that is from AD 1611. The Greek word (for which the Authorized Version translates as "whale" in Matt 12:40) is ketos , which the standard BAGD lexicon defines as "sea-monster", of which Mounce's lexicon defines as "sea-monster, great fish, or whale", and of which the Louw and Nida UBS lexicon defines as "big fish, huge fish."
If one wants to advance the claim that the Authorized Version's translation of ketos , is misleading to us in 1998, I can agree. What one cannot do is have any reasonable case against the Koine, which is what matters.