Что самый эффективный путь состоит в том, чтобы преобразовать интервал в Строку?

Вместо disabled вы можете использовать readonly. С помощью некоторого дополнительного CSS вы можете стилизовать ввод так, чтобы он выглядел как поле disabled.

На самом деле есть еще одна проблема. Событие change запускается только тогда, когда элемент теряет фокус, что не является логическим с учетом поля disabled. Возможно, вы вставляете данные в это поле из другого вызова. Для выполнения этой работы вы можете использовать событие «bind».

$('form').bind('change', 'input', function () {
    console.log('Do your thing.');
});
61
задан Ascalonian 17 March 2009 в 12:23
поделиться

6 ответов

протестированный это на присвоения на 10 м номера 10

One:
real    0m5.610s
user    0m5.098s
sys     0m0.220s

Two:
real    0m6.216s
user    0m5.700s
sys     0m0.213s

Three:
real    0m12.986s
user    0m11.767s
sys     0m0.489s

Каждый, кажется, побеждает

Редактирование: JVM является стандартным '/usr/bin/java' в соответствии с Mac OS X 10.5

java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b06-284)
Java HotSpot(TM) Client VM (build 1.5.0_16-133, mixed mode, sharing)
[еще 118] редактирование:

Код, как требуется

public class One {
    public static void main(String[] args) {
        int someValue = 10;
        for (int i = 0; i < 10000000; i++) {
            String stringValue = Integer.toString(someValue);
        }
    }
}

случай 2 и 3 так же
выполненное использование

javac *.java; time java One; time java Two; time java Three
73
ответ дан cobbal 7 November 2019 в 13:37
поделиться

Первые два примера на самом деле идентичны, так как String.valueOf (интервал) использует Integer.toString (интервал) метод. Третье ужасно, и вероятно менее эффективно, так как конкатенация является медленной в Java.

8
ответ дан Björn 7 November 2019 в 13:37
поделиться

(Противоположность David Hanak.)

Даже при том, что согласно измерениям cobbal, № 1, кажется, является самым быстрым, я настоятельно рекомендовал бы использование Integer.toString (). Моя причина этого состоит в том, что этот вызов явно содержит тип аргумента, поэтому если позже Вы решаете изменить его от интервала для удвоения, ясно, что этот вызов изменился. Вы сделали бы то же, если бы это был двоичный формат, не так ли? Выигрыш в быстродействии на № 1 по сравнению с № 2 только минимален, и как все мы знаем, "преждевременная оптимизация является корнем всего зла".

5
ответ дан Tom Hawtin - tackline 7 November 2019 в 13:37
поделиться

"" + int медленнее как показано выше David Hanak.

String.valueOf() вызовы внутреннего изгиба Integer.toString(). Следовательно, использование Integer.toString() лучше.

Так, Integer.toString() является самым быстрым..

2
ответ дан Blasanka 7 November 2019 в 13:37
поделиться

Посмотрите на исходный код JRE, и Вы будете, вероятно, видеть различие. Или ни один. На самом деле Strinv.valueOf (международное нечто) реализован следующим образом:

public static String valueOf(int i) {
    return Integer.toString(i, 10);
}

и Integer.toString (международное нечто, международное основание)

public static String toString(int i, int radix) {
   ...
   if (radix == 10) {
   return toString(i);
   }
   ...
}

, Что означает при использовании основания 10 лучше вызов Integer.toString (международное нечто) непосредственно. Поскольку другие случаи используют Integer.toString (международное нечто, международное основание).

concat решение сначала преобразовывает международное значение в Строку и позже конкатенирует с пустой строкой. Это, очевидно - самый дорогой случай.

8
ответ дан paweloque 7 November 2019 в 13:37
поделиться

Даже при том, что согласно измерения cobbal, № 1, кажется, является самым быстрым, я настоятельно рекомендовал бы использование String.valueOf(). Моя причина этого состоит в том, что этот вызов явно не содержит тип аргумента, поэтому если позже Вы решаете изменить его от интервала для удвоения, нет никакой потребности изменить этот вызов. Выигрыш в быстродействии на № 1 по сравнению с № 2 только минимален, и как все мы знаем, "преждевременная оптимизация является корнем всего зла".

третье решение вне рассмотрения, так как оно неявно создает StringBuilder и добавляет компоненты (в этом случае, число и пустая строка) к этому, и наконец преобразовывает это в строку.

37
ответ дан Community 7 November 2019 в 13:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: