Avoid strings where other types are more appropriate
An interesting exception (a specialized case) is lazy parsing, since parsing can be expensive. That is, you might want to read input into strings, and only if that field is accessed do you parse that into something else (e.g., an HTML string into an Android Spannable). Hibernate ORM can do this.