To get rid of the warnings you can use @SuppressWarnings, but that's not really what you want, is it
Basically generics were invented to enforce compile-time type safety to collections where none previously existed. They're used for other things, but that's really the greatest benefit. In your example, you'll see integer/floatArray do not give warnings, as they are "parameterized". Type safety can be enforced - if you try to put any other object in there, it simply won't compile.
In your sortInteger/FloatArray, they're "raw", they aren't parameterized and the the type of objects they hold are not explicity stated at runtime. This means you can basically put anything in there (try it). The compiler can't stop you, it's only if you do something that causes a ClassCastException will anything appear wrong at runtime. However, you're in no worse a situation than before generics were introduced to the language.
Java 1.5 and later will give you this warning because it is now possible to mix the two, ie. raw and parameterized. This is dangerous because arguably you could refer to a collection using a raw type (and add any type of object), and also refer to that collection using a parameterized type (and try to take something out). You are no longer "protected" against class casting issues, even using the parameterized type, because the collection has been accessed using a raw reference and could hold anything.
So you get a warning. If you mix raw and parameterized and still put in the correct type of object, you're fine. But you no longer have the compile-type type-safety guarantee that generics is designed to give you, thus the warning. Only use parameterized types and the compiler won't complain.
iirc there's an example later in Deitel where it's done "right", and this is example is to illustrate the point, but I may be wrong.