Я имелв виду что new() это кастомный статический метод, но так нельзя, new слово зарезервировано, можно поменять на create например. А твой вариант не типобезопасен, ты можешь в контруктор хоть стринг передать, все равно ошибки компиляции не будет, только варнинг.Sergunka wrote:Что то не ест у меняcrypto5 wrote:Вот так красивееSergunka wrote:Code: Select all
Holder<Integer> a = Holder.new(1); Holder<Integer> b = Holder.new(2);
А вот так съела
Code: Select all
Holder<Integer> a = new Holder (1); Holder<Integer> b = new Holder (2);
Как сейчас рынок в UK для Junior Java
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Как сейчас рынок в UK для Junior Java
In vino Veritas!
-
- Уже с Приветом
- Posts: 4185
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: Как сейчас рынок в UK для Junior Java
на самом деле swap на жабе делается например так
а придумывание холдеров и прочего это скорее для интервью, чтобы отсеять кандидатов их придумывающих.
public static void main(String[] args) {
Integer a = 1;
Integer b = 2;
Integer i = a;
a = b;
b = i;
System.out.println("a: " + a + ", b: " + b);
}
-
- Уже с Приветом
- Posts: 11999
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Как сейчас рынок в UK для Junior Java
Т.е. правильный ответ - swap (как ф-ция) жабе не нужен?valchkou wrote: а придумывание холдеров и прочего это скорее для интервью, чтобы отсеять кандидатов их придумывающих.
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 4185
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: Как сейчас рынок в UK для Junior Java
гениально ! я сам бы до этого не доперM. Ridcully wrote:Т.е. правильный ответ - swap (как ф-ция) жабе не нужен?valchkou wrote: а придумывание холдеров и прочего это скорее для интервью, чтобы отсеять кандидатов их придумывающих.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Как сейчас рынок в UK для Junior Java
Я например уже и не помню когда такое бы понадобилось, вполне возможно что не нуженM. Ridcully wrote:Т.е. правильный ответ - swap (как ф-ция) жабе не нужен?valchkou wrote: а придумывание холдеров и прочего это скорее для интервью, чтобы отсеять кандидатов их придумывающих.
In vino Veritas!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Как сейчас рынок в UK для Junior Java
В копилку к тому, что Джава, как язык, устаревает. По сравнению с тем же C#, где возможно параметры передавать и by value и by reference.
-
- Уже с Приветом
- Posts: 9035
- Joined: 25 Oct 2011 19:02
- Location: SVO->ORD->SFO
Re: Как сейчас рынок в UK для Junior Java
Радует, что нашими стараниями каждый топик сваливается в java bash русло.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Как сейчас рынок в UK для Junior Java
Бизнес кобол и должен быть максимально простым языком. Я и так считаю что джава перегружена фичами.Интеррапт wrote:В копилку к тому, что Джава, как язык, устаревает. По сравнению с тем же C#, где возможно параметры передавать и by value и by reference.
In vino Veritas!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Как сейчас рынок в UK для Junior Java
Простой - это не значит, что языку для нормального функционирования нужно столько бойлер-плейт кода. Swap? Извольте писать отдельный holder класс (или массив использовать). Properties? Извольте вводить локальную переменную и писать многостраничные getter/setters, к каждому из которых нужно еще и javadocs прикручивать. И т.п.crypto5 wrote:Бизнес кобол и должен быть максимально простым языком.
-
- Уже с Приветом
- Posts: 34124
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: Как сейчас рынок в UK для Junior Java
Ну, тут замысел на мой взгляд более хитровывернутый оказывается Integer, Double, Boolean и прочие как и String immutable т.е. неизменямые объекты типо чтоб народ очень повеселить на предмет мультипоточностиИнтеррапт wrote:В копилку к тому, что Джава, как язык, устаревает. По сравнению с тем же C#, где возможно параметры передавать и by value и by reference.
Поэтому тот же StringBuffer будет в подобной ситуации работать, а immutable классы нет. В scala это даже явно указывается чтоб чего не перепутать.
"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Как сейчас рынок в UK для Junior Java
А топикстартер этот все-равно задает почти риторические вопросы, а когда ему чего-то в других топиках советовали, то он особо на советы не реагировалdotcom wrote:Радует, что нашими стараниями каждый топик сваливается в java bash русло.
-
- Уже с Приветом
- Posts: 34124
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: Как сейчас рынок в UK для Junior Java
Ну только для иммютабл классов для того же StringBuilder вполне и так прокатитИнтеррапт wrote: Swap? Извольте писать отдельный holder класс (или массив использовать).
Code: Select all
private static void swap(StringBuilder a, StringBuilder b) {
StringBuilder i = new StringBuilder(a);
a.delete(0, a.length()).append(b);
b.delete(0, b.length()).append(i);
}
"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Как сейчас рынок в UK для Junior Java
отсутствие pass by reference параметров это такой подход к дизайну, как в хаскеле например, жертвование элементами удобства в пользу борьбы с сайдэфектами.Интеррапт wrote:Простой - это не значит, что языку для нормального функционирования нужно столько бойлер-плейт кода.crypto5 wrote:Бизнес кобол и должен быть максимально простым языком.
In vino Veritas!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Как сейчас рынок в UK для Junior Java
Да я вас прошу. Весь этот "подход к дизайну" постепенно убирается в пользу большего удобства. Достаточно посмотреть эволюцию Джавы. Так что еще увидим версию, в которой out параметры появятся.crypto5 wrote:отсутствие pass by reference параметров это такой подход к дизайну, как в хаскеле например, жертвование элементами удобства в пользу борьбы с сайдэфектами.Интеррапт wrote:Простой - это не значит, что языку для нормального функционирования нужно столько бойлер-плейт кода.crypto5 wrote:Бизнес кобол и должен быть максимально простым языком.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Как сейчас рынок в UK для Junior Java
А поподробнее про убирается?Интеррапт wrote:Да я вас прошу. Весь этот "подход к дизайну" постепенно убирается в пользу большего удобства. Достаточно просмотреть эволюцию Джавы. Так что еще увидим версию, в которой out параметры появятся.crypto5 wrote:отсутствие pass by reference параметров это такой подход к дизайну, как в хаскеле например, жертвование элементами удобства в пользу борьбы с сайдэфектами.Интеррапт wrote:Простой - это не значит, что языку для нормального функционирования нужно столько бойлер-плейт кода.crypto5 wrote:Бизнес кобол и должен быть максимально простым языком.
In vino Veritas!
-
- Уже с Приветом
- Posts: 114
- Joined: 28 Sep 2007 07:18
- Location: MOW.RU-CA.US-MOW.RU-TLV.IL-WA.US
Re: Как сейчас рынок в UK для Junior Java
Вот так:
Code: Select all
public class Swapper {
public static void main(String[] args) {
Integer a = new Integer(1);
Integer b = new Integer(2);
swap (a, b);
System.out.println("a: " + a +", b: " + b);
}
private static void swap(Integer a, Integer b) {
int i = a.getVal();
a.setVal(b.getVal());
b.setVal(i);
}
}
class Integer {
private int val;
public Integer(int val) {
this.val = val;
}
public int getVal() {
return val;
}
public void setVal(int val) {
this.val = val;
}
public String toString() {
return String.valueOf(val);
}
}
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Как сейчас рынок в UK для Junior Java
Идея Сергунки лучше, т.к. у него не надо под каждый Long, Object, YourClass новый враппер делать.Cabron wrote:Вот так:
Code: Select all
public class Swapper public static void main(String[] args) { Integer a = new Integer(1); Integer b = new Integer(2); swap (a, b); System.out.println("a: " + a +", b: " + b); } private static void swap(Integer a, Integer b) { int i = a.getVal(); a.setVal(b.getVal()); b.setVal(i); } } class Integer { private int val; public Integer(int val) { this.val = val; } public int getVal() { return val; } public void setVal(int val) { this.val = val; } public String toString() { return String.valueOf(val); } }
In vino Veritas!
-
- Уже с Приветом
- Posts: 11756
- Joined: 10 Feb 2005 16:08
- Location: CMH
Re: Как сейчас рынок в UK для Junior Java
Интеррапт wrote:...По сравнению с тем же C#, где возможно параметры передавать и by value и by reference.
А в античном (древнейшем/классическом) С можно ли было передавать и так, и так?
А в Фортранах всяких? (в ассемблере про такое, наверное, и задумываться даже не всякий станет?)
Давно пора уже идеи ("обобщённые"!) передавать, а не всякую там застарелую хрень!
Или вообще т.наз. инновации, а?
-
- Уже с Приветом
- Posts: 114
- Joined: 28 Sep 2007 07:18
- Location: MOW.RU-CA.US-MOW.RU-TLV.IL-WA.US
Re: Как сейчас рынок в UK для Junior Java
Но с Integer-ами в итоге работаетcrypto5 wrote: Идея Сергунки лучше, т.к. у него не надо под каждый Long, Object, YourClass новый враппер делать.
А в своем классе я и так state поменяю как мне надо, если он не immutable.
Last edited by Cabron on 17 Nov 2012 09:19, edited 1 time in total.
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Как сейчас рынок в UK для Junior Java
OMG. Только давайте не будем действительно код для swap писать
Holder pattern для Java настолько уже избитая штука, что даже не смешно.
Если кому уж так нужно, то берем обычный common lang и используем MutablePair
Holder pattern для Java настолько уже избитая штука, что даже не смешно.
Если кому уж так нужно, то берем обычный common lang и используем MutablePair
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Как сейчас рынок в UK для Junior Java
А если в том классе 100500 полей?Cabron wrote:А в своем классе я и так state поменяю как мне надо, если он не immutable.crypto5 wrote: Идея Сергунки лучше, т.к. у него не надо под каждый Long, Object, YourClass новый враппер делать.
In vino Veritas!
-
- Уже с Приветом
- Posts: 114
- Joined: 28 Sep 2007 07:18
- Location: MOW.RU-CA.US-MOW.RU-TLV.IL-WA.US
Re: Как сейчас рынок в UK для Junior Java
Вся Java в общем-то уже избитая штука со своими паттернами. Уже рекоммендуют switch statements заменять ООП дизайном, иначе некошерно. Целые лекции проводят о том, как правильно переписывать toString.Интеррапт wrote:OMG. Только давайте не будет действительно код для swap писать
Holder pattern для Java настолько уже избитая штука, что даже не смешно.
Если кому уж так нужно, то берем обычный common lang и используем MutablePair
Last edited by Cabron on 17 Nov 2012 09:37, edited 1 time in total.
-
- Уже с Приветом
- Posts: 114
- Joined: 28 Sep 2007 07:18
- Location: MOW.RU-CA.US-MOW.RU-TLV.IL-WA.US
Re: Как сейчас рынок в UK для Junior Java
Ну тогда рапперы делать если надо именно поменять референсы на объекты этих классов. Но обычно нужно просто изменить state самого объекта.crypto5 wrote:А если в том классе 100500 полей?Cabron wrote:А в своем классе я и так state поменяю как мне надо, если он не immutable.crypto5 wrote: Идея Сергунки лучше, т.к. у него не надо под каждый Long, Object, YourClass новый враппер делать.
Насчет 100500 полей - плохой дизайн ООП.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Как сейчас рынок в UK для Junior Java
Ну вы же на работе открывая чужой код и видя плохой дизайн ООП не увольняетесь немедленно? Что то нужно делать!Cabron wrote:Ну тогда рапперы делать если надо именно поменять референсы на объекты этих классов. Но обычно нужно просто изменить state самого объекта.crypto5 wrote:А если в том классе 100500 полей?Cabron wrote:А в своем классе я и так state поменяю как мне надо, если он не immutable.crypto5 wrote: Идея Сергунки лучше, т.к. у него не надо под каждый Long, Object, YourClass новый враппер делать.
Насчет 100500 полей - плохой дизайн ООП.
In vino Veritas!
-
- Уже с Приветом
- Posts: 114
- Joined: 28 Sep 2007 07:18
- Location: MOW.RU-CA.US-MOW.RU-TLV.IL-WA.US
Re: Как сейчас рынок в UK для Junior Java
Нужно загнать все объекты в ActiveMQ и пойти выпить кофе. Серьезно.crypto5 wrote:Ну вы же на работе открывая чужой код и видя плохой дизайн ООП не увольняетесь немедленно? Что то нужно делать!Cabron wrote:Ну тогда рапперы делать если надо именно поменять референсы на объекты этих классов. Но обычно нужно просто изменить state самого объекта.crypto5 wrote:А если в том классе 100500 полей?Cabron wrote:А в своем классе я и так state поменяю как мне надо, если он не immutable.crypto5 wrote: Идея Сергунки лучше, т.к. у него не надо под каждый Long, Object, YourClass новый враппер делать.
Насчет 100500 полей - плохой дизайн ООП.