Существуют небольшие различия в зависимости от того, говорите ли вы о «примитивах» или «типах объектов»; то же самое можно сказать, если вы говорите о «статических» или «нестатических» членах; вы можете также смешать все вышеперечисленное ...
Вот пример (вы можете запустить его):
public final class MyEqualityTest
{
public static void main( String args[] )
{
String s1 = new String( "Test" );
String s2 = new String( "Test" );
System.out.println( "\n1 - PRIMITIVES ");
System.out.println( s1 == s2 ); // false
System.out.println( s1.equals( s2 )); // true
A a1 = new A();
A a2 = new A();
System.out.println( "\n2 - OBJECT TYPES / STATIC VARIABLE" );
System.out.println( a1 == a2 ); // false
System.out.println( a1.s == a2.s ); // true
System.out.println( a1.s.equals( a2.s ) ); // true
B b1 = new B();
B b2 = new B();
System.out.println( "\n3 - OBJECT TYPES / NON-STATIC VARIABLE" );
System.out.println( b1 == b2 ); // false
System.out.println( b1.getS() == b2.getS() ); // false
System.out.println( b1.getS().equals( b2.getS() ) ); // true
}
}
final class A
{
// static
public static String s;
A()
{
this.s = new String( "aTest" );
}
}
final class B
{
private String s;
B()
{
this.s = new String( "aTest" );
}
public String getS()
{
return s;
}
}
Вы можете сравнить объяснения для «==» (Equality Оператор) и ".equals (...)" (метод в классе java.lang.Object) через эти ссылки:
Я предложил бы использовать varchar (500). Даже при том, что varchar не является фиксированной длиной, база данных должна зарезервировать корректную сумму пространства. Вы не должны замечать различие в производительности с помощью varchar (500) по 2xchar (255).
Вы также, вероятно, собираетесь вызвать дополнительные издержки путем присоединения к двум символьным полям вместе.
Я предложил бы использовать varchar (500)
... если у Вас есть MySQL 5.0.3 или выше. В предыдущих версиях VARCHAR был ограничен 255 символами.
Кроме того, CHAR и VARCHAR не работают тот же относительно конечных пробелов. Обязательно читайте 10.4.1. CHAR и Типы VARCHAR (это для MySQL 5.0).
Вы волнуетесь слишком много о внутренних деталях реализации. Не предварительно оптимизировать.
Пойдите с VARCHAR(500)