주어진 코드를 사용하여 목록 보기에서 특정 범위의 11자리까지 일련번호를 생성하고 있습니다. 최대 10자리까지 생성되는 시퀀스는 0333624140 ~ 0333624160(예: 0333624140,0333624141,0333624142,0333624143 등)과 같지만 원하는 값을 03336241441 ~ 0333624와 같이 11자리로 변경하면 1450 그런 다음 앱이 충돌합니다.
btngenerate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { int value1; int value2; value1 = Integer.parseInt(txtfirst.getText().toString()); value2 = Integer.parseInt(txtsecond.getText().toString()); for(int i=value1;i<=value2;i++){ list.add(""+i); li.setAdapter(arrayAdapter); } } });
저는 스스로 그리고 모든 사람의 도움을 받아 필요한 솔루션을 알아냈습니다. 다른 사람들도 이에 대한 정보를 얻을 수 있도록 여기에 표시합니다. 어찌됐든 진심으로 감사드립니다~
btngenerate.setOnClickListener(new View.OnClickListener() { @SuppressLint("DefaultLocale") @Override public void onClick(View view) { try { long value1; long value2; value1 = Long.parseLong(txtfirst.getText().toString()); value2 = Long.parseLong(txtsecond.getText().toString()); for(Long i = (Long) value1; i<=value2; i++) { list.add(String.format("%011d", i)); li.setAdapter(arrayAdapter); } } catch (NumberFormatException e) { e.printStackTrace(); } } });
이 코드를 작성하는 방법에 대한 완전히 망가진 아이디어입니다. 11자리 숫자를 모두 포함할 수 있는 배열을 만듭니다. 110억 개의 항목입니다. 각 객체가 8바이트(값에 4바이트, 참조에 4바이트)만 차지하더라도 이는 880억 바이트, 즉 약 9.5GB입니다. 그것은 결코 기억에 남지 않을 것이고, 그 일이 일어나기 전에는 당신은 굉장해질 것입니다.
이를 수행하는 방법에는 여러 가지가 있습니다. 어댑터는 연속 범위이므로 모든 항목을 포함하는 배열이 필요하지 않으며 시작 및 끝 인덱스만 필요하며 각 인덱스의 값은 시작 인덱스 및 오프셋을 기반으로 계산할 수 있습니다. 그러나 모든 값의 목록을 갖는 것은 작동하지 않습니다.
위 내용은 지정된 범위의 11자리 일련번호를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!