Мне нужен объект из строки запроса, и я ненавижу много кода. Это может быть не самое надежное во вселенной, но это всего лишь несколько строк кода.
var q = {};
location.href.split('?')[1].split('&').forEach(function(i){
q[i.split('=')[0]]=i.split('=')[1];
});
URL-адрес, такой как this.htm?hello=world&foo=bar
, создаст:
{hello:'world', foo:'bar'}
Integer.valueOf реализует кэш для значений от -128 до +127. См. последний параграф спецификации языка Java, раздел 5.1.7, где объясняются требования к боксу (обычно реализуемому в терминах методов .valueOf).
http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.1.7
Из JavaDoc:
public static Integer valueOf(int i) Возвращает экземпляр Integer, представляющий указанное значение int. Если новый экземпляр Integer не требуется, этот метод обычно следует использовать вместо конструктора Integer(int), так как этот метод, вероятно, обеспечит значительно лучшую производительность пространства и времени за счет кэширования часто запрашиваемых значений.
ValueOf
обычно используется для автобоксинга и поэтому (когда используется для автобоксинга) кэширует по крайней мере значения от -128 до 127, чтобы следовать спецификации автобоксинга.
Вот реализация valueOf
для Sun JVM 1.5.? Посмотрите на весь класс, чтобы увидеть, как инициализируется кэш.
public static Integer valueOf(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // must cache
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}