Quando utilizzare valori non firmati rispetto a quelli firmati?

Quando è opportuno utilizzare una variabile non firmata su una firma? Che dire in un ciclo for ?

Ho sentito molte opinioni su questo e volevo vedere se c’era qualcosa che assomigliava a un consenso.

 for (unsigned int i = 0; i < someThing.length(); i++) { SomeThing var = someThing.at(i); // You get the idea. } 

So che Java non ha valori senza segno e che deve essere stata una decisione concreta sulla parte di Sun Microsystems .