java এলগর জাভাতে দৈর্ঘ্য 0 দিয়ে স্ট্রিং অ্যারে কিভাবে শুরু করব?




স্ট্রাকচার সি (6)

পদ্ধতির জন্য জাভা ডক্স
String[] java.io.File.list(FilenameFilter filter)
আয় বিবরণ এই অন্তর্ভুক্ত:

ডিরেক্টরী খালি থাকলে বা ফিল্টারের দ্বারা কোন নাম গ্রহণ করা না থাকলে অ্যারের খালি হবে।

আমি একটি অনুরূপ জিনিস কিভাবে এবং দৈর্ঘ্য 0 আছে একটি স্ট্রিং অ্যারে (অথবা যে বিষয় জন্য অন্য কোন অ্যারে) আরম্ভ করবেন?


আপনি org.apache.commons.lang3 থেকে ArrayUtils.EMPTY_STRING_ARRAY ব্যবহার করতে পারেন

import org.apache.commons.lang3.ArrayUtils;

    class Scratch {
        public static void main(String[] args) {
            String[] strings = ArrayUtils.EMPTY_STRING_ARRAY;
        }
    }

আচ্ছা আমি আসলেই উত্তরটি খুঁজে পেয়েছি কিন্তু ভেবেছিলাম আমি এভাবেই 'আমদানি' করব

String[] files = new String[0];
অথবা
int[] files = new int[0];


অন্যরা বলেছে,

new String[0]

প্রকৃতপক্ষে একটি খালি অ্যারে তৈরি হবে। তবে, অ্যারে সম্পর্কে একটি চমৎকার জিনিস আছে - তাদের আকার পরিবর্তন করা যাবে না, তাই আপনি সর্বদা একই খালি অ্যারে রেফারেন্স ব্যবহার করতে পারেন। সুতরাং আপনার কোড, আপনি ব্যবহার করতে পারেন:

private static final String[] EMPTY_ARRAY = new String[0];

এবং তারপরে প্রতিবার আপনার প্রয়োজন এমন EMPTY_ARRAY ফেরত EMPTY_ARRAY প্রতিটি সময় একটি নতুন বস্তু তৈরি করার প্রয়োজন নেই।


একটি ফাংশন তৈরি করুন যা পরিবর্তে নিল ফিরে আসবে না আপনি নীচের কোড দিয়ে যেতে পারেন একটি খালি অ্যারে ফিরে।

    public static String[] getJavaFileNameList(File inputDir) {
    String[] files = inputDir.list(new FilenameFilter() {
        @Override
        public boolean accept(File current, String name) {
            return new File(current, name).isFile() && (name.endsWith("java"));
        }
    });

    return files == null ? new String[0] : files;
}

String[] str = new String[0]; ?


String[] str = {};

কিন্তু

return {};

টাইপ তথ্য অনুপস্থিত হিসাবে কাজ করবে না।





initialization