zmila: (3kub)
In Java SE 7 and later, you can use a String object in the switch statement's expression.
опанькі :) "а мужыкі та ня ў курсе"

пашукаў:
Why can't I switch on a String?
Is this functionality going to be put into a later Java version?
Can someone point me to an article, or themselves explain why I can't do this, as in, the technical way Java's switch statement works?

і адказы:
- It's in SE 7. 16 yrs after it's request.
- Sun was honest in their evaluation: "Don't hold your breath." lol, http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=1223179
- It is implemented in Java SE 7 as a new feature
zmila: (lunlumulo)
кажуць, Java8 выйдзе летам 2013, а там ужо будуць
  • lambdas, filter-map-reduce над калекцыямі,
  • StringJoiner and String.join(...) are long, long overdue. They are so long overdue that the vast majority of Java developers likely have already written or have found utilities for joining strings
  • Objects.isNull(Object)
  • The new date/time API in Java 8 is contained in the java.time package
zmila: (bicikla neĝero)
dbjavaui (jsp)
create table T_WORK_ORDER {

  ORDER_ID number(10,0) not null,

  ORDER_NO varchar2(100) not null,

  ...
@Id @Column(name = "ORDER_ID")
public long getId() { return id; }

@Column(name = "ORDER_NO")
public String getWoNumber() { return woNumber; }
...
public List<WorkOrder> getWorkOrders() { ... }
<select id="ddlWorkorders" name="selectedWO">
  <c:forEach items="${workorders}" var="wo">
    <option value="${wo.id}">${wo.wonumber}</option>
  </c:forEach>
</select>


выдзеленыя тлустым не правяраюцца на этапе кампіляцыі, але ўнязапна падчас працы падаюць з эксцэпшэнам (часам бязглуздым) недзе ў фрэймворку •

а null ці Option[T] - гэта сапраўды дробязі (там або дыктатура і ўсіх абавязаць ужываць null object pattern або давесьці да аўтаматызма праверкі if ( x != null ) на кожным кроку)

(())

Dec. 18th, 2012 04:10 pm
zmila: (Default)
int totalCount = aaa ? bbb ? 50 : 25 : 0;
if ( a.x < b.x && a.y < b.y || a.x > b.x && a.y > b.y ) even() else odd();

(if aaa (if bbb 50 25) 0)
(if (or (and (< (:x a) (:x b)) (< (:y a) (:y b))) (and (> (:x a) (:x b)) (< (:y a) (:y b)))) :even :odd)

cytaten

Jul. 31st, 2012 02:15 pm
zmila: (Default)
How Clojure is breaking my brain – Loops

So in summary, to take Steve McConnell’s quote in Code Complete:
…if you work for 10 years, do you get 10 years of experience or do you get 1 year of experience 10 times?
and ask:
…if you have been writing loops for 10 years, have you just been writing same loop all 10 years?

poliglot

Feb. 27th, 2012 02:16 pm
zmila: (bicikla neĝero)
GoSu, Xtend, Kotlin, Julia

што заўгодна людзі прыдумаюць,
абы толькі не працаваць (Java),
не вучыць матчасьць (Scala),
або дужа баяцца дужак (Clojure) •
zmila: (Default)
[at stackoverflow] Badge "Tumbleweed" - Asked a question with no votes, no answers, no comments, and low views for a week.

и грустно и смештно
zmila: (Default)
http://java.net/jira/browse/JAVASERVERFACES-1768
jsf panelGrid treats html comments as rendable child component

"So for me this is a WONTFIX"

а для меня это - идиотизм. будто сознательно подталкивиют людей не писать комменты.
тем более, что
"The oddity is that this only happens in a few places, like in h:panelGrid's. My
XML comments don't affect the outputted XHTML in other places."
zmila: (bicikla neĝero)
не (да канца) праглядзеў прэзэнтацыю Clojure: Towards The Essence Of Programming але прачытаў адну з рэакцыяў на яе з боку Скалы
згодны з аўтарам: скала амаль таксама як і клажура дазваляе пісаць больш сэнса, і меней займацца цэрэмоніямі - у параўнаньні з жавай •
былі некалькі думкаў пра дастаткі і недастоінствы абедзьвюх моваў - але толькі занатую прыгожую параўнаньню: скала гэта меч, універсальная зброя, ею можна і калоць і рубіць і рэзаць; клажура жэ - гэта як шпага, карыстальнік вымушанны быць больш вопытным і вытанчаным •
ну і скальная магчымасьць ужываць і мутабельныя і немутабельныя тыпы - гэта як закон аб дзьвюхмоўі ў РБ - калі можна і тое і гэтае, тады маем тое што маем ... 

але
вось зараз зноў мяне пераймае жаваўская немагчымасьць лёгка перерабіць функцыю (нават ланцуг функцый: ui - bean - dao), якая чытае з БД нейкі параметр у функцыю, якая вяртае два параметры •
даводзіцца або вяртаць масіў (і гудбай статычная праверка тыпаў) або ствараць новы клас - dto •
zmila: (bicikla neĝero)
CommonQueries.java:
    final static public String GET_ZZZ_QUERY =
      "select ZZZ_NO as ZZZ_NBR, ... from T_ZZZ where ...";


CommonConstants.java:
    final static public String ZZZ_NUMBER = "zzz_nbr";


CommonDAO.java:
   public String getZZZ( final int id ) {
    ...
    final PreparedStatement ps = connection.prepareStatement(CommonQueries.GET_ZZZ_QUERY);
    ps.setInt(1, id);
    final ResultSet rs = prepareStatement.executeQuery();
    if (rs.next()) {
      final ZzzDto zzz = new ZzzDto();
      zzz.setZzzName( rs.getString( CommonConstants.ZZZ_NUMBER ) );
      ...
      return zzz;


EditZzzForm.java:

   public void init() {
     ...
     final ZzzDto zzz = dao.getZZZ( dbId );
     this.setShortName( zzz.getZzzName() );
     ...


editZzz.jsp:
   <html:form>
     ...
     <td><bean:message key="zzz.short_name"/></td>
     <td><html:text name="editZzzForm" property="shortName" /></td>


commonResource.properties:
   zzz.short_name = Zzz:


усе супадзеньні з рэальнай працай - выпадковыя :)
zmila: (Default)
/* class Row { ... public List<Cell> cells; ... */

for (final Row row : rows) {
	for (final Cell cell : row.cells) {
		final int cellIndex = row.cells.indexOf(cell);
		if (cellIndex == 0) {
			continue;// the first cell in row is heading cell so start calc from the second
		}
... 



этот indexOf меня убил • но за комент - плюсик в карму, да •
в другом месте этот же афтар использовал contains() для аналогичного определения, принадлежит ли ячейка матрицы первому столбцу • конечно, в тестовых прогонах на матрицах 30*5 ничего не заметно, но в боевых условиях, когда имеем пару тысяч на десяток-два ячеек ...
zmila: (Default)
    public void setDifferentCurrenciesDetected(final boolean differentCurrenciesDetected) {

        this.differentCurrenciesDetected = differentCurrenciesDetected;
    }
zmila: (Default)
... com.sap.engine.frame.Environment ... Thread[ErrorQueueWatchDog,5,main]##0#0#Fatal#1#/System/Server/Critical#Plain###FATAL: Caught OutOfMemoryError! Node will exit with exit code 666
 
[EXCEPTION]
 {0}#1#java.lang.OutOfMemoryError: PermGen space (failed to allocate 496 bytes)
    at sun.misc.Unsafe.defineClass(Native Method)

хохохо!
zmila: (bicikla neĝero)
public class MoveColumnOperation extends Model.Operation {

...
   public void execute() {
     ...
     final Map<Object, Object> moveOptions = new HashMap<Object, Object>();
     moveOptions.put(OLD_COL_NUM, oldColNum);
     moveOptions.put(NEW_COL_NUM, newColNum);
     moveOptions.put(COLS_COUNT, colsCount);

     observers().fireControlOperation("moveColumnOperation", moveOptions);
   }
}

і гэта java, ... ) strongly ... ) typed ... ) language

а вось яшчэ (final-ы я ўставіў)
    public void onAfterTextInput(final Event event){
     final int sliceNum = this.getSelectionViewer().getSelection().getActiveCol();
     final Slice slice = getSlice(sliceNum );
     if (getStore().getForm().columns.get(slice .getColumn().getIndex()).getField().fieldType==FieldType.DROPDOWN){
       dropDownViewer.openSuggestions(this.getTextEditViewer());
     
     }
   }


ціпа гэты чалавек пад уплывам ruby ці якой функцыянальшчыны? неее, проста ... )

cytaten

Feb. 26th, 2010 04:52 pm
zmila: (lunlumulo)
добры артыкул Опасности обучения на Java (пераклад з The Perils of JavaSchools, @ Joel on Software) •

Фух.
Я возвращаюсь обратно к единицам и нулям.
(У вас есть единицы? Везучий ублюдок! Всё, что было у нас — это нули.)
zmila: (bicikla neĝero)
сустрэў такое фарматаваньне:

private boolean isFieldInvisibleInReport(final FlexDOM cbtDom, final Field field,
final boolean alternativeCurrencyAllowed) {

  return field.fieldDefAlias != null
    && (field.fieldDefAlias.equals(FieldNature.ALTERNATIVE_CURRENCY)
    && !alternativeCurrencyAllowed || cbtDom == null
    && field.fieldDefAlias.equals(FieldNature.REQUEST_CBS) || field.fieldDefAlias
    .equals(FieldNature.CURRENCY));
}

так пісаць - сябе не паважаць, не гаворачы пра калегаў • зусім не чытэльная лёгіка • ну гэта ж проста ўзяць, вырваць рукі, але ж хлопец харошы, проста аўтафарматаваньне плахое, а ён зрабіў і не праверыў, што выйшла
zmila: (bicikla neĝero)
        final List<String> pagingChangePage = params.get(PARAM_PAGING_CHANGE_ROWS_PER_PAGE);
        if (pagingChangePage != null) {
            if (pagingChangePage.size() == 1) {
...
                this.pageScroller.setCurrentPage(this.currentPage);
                if (this.pageScroller != null) {
                    this.pageScroller.setRowsPerPage(this.rowsPerPage);
            }
        }
...
        final List<String> pagingChangeRowsPerPage = params.get(PARAM_PAGING_CHANGE_PAGE);
        if (pagingChangeRowsPerPage != null) {
            if (pagingChangeRowsPerPage.size() == 1) {
                this.currentPage = Integer.valueOf(pagingChangeRowsPerPage.get(0));
...

cytaten

Jul. 14th, 2009 07:27 pm
zmila: (Default)
ALA:
блять шедевр
       private Column findColumnByIndex(final F form, final int index) {

       for (final Column column : form.columns) {
           if (column.index == index) {
               return column;
           }
       }
       return null;
   }

хотя нет... вся глубина шедевра передается тем что делается после...
       final Column column = findColumnByIndex(this.form, columnIn.index);
       if (column != null) {
           final Integer columnIndex = column.index;
           this.form.columns.remove(columnIndex.intValue());
       }

словы

Jun. 19th, 2009 02:52 pm
zmila: (Default)
класкаст (ClassCastException)
у інэце не знайшоў

пачуўся ляскат кляскастаў ...
zmila: (Default)
сустрэў у каментах

res = res.trim();
// decrease traffic
res.toLowerCase();
return res;

доўга думаў

Profile

zmila: (Default)
zmi la

December 2016

S M T W T F S
    123
45678910
11121314151617
181920212223 24
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 22nd, 2017 06:13 am
Powered by Dreamwidth Studios