আমার স্ট্রিং নাল সমান কিনা তা কীভাবে পরীক্ষা করবেন?


172

আমি কেবলমাত্র কিছু পদক্ষেপ নিতে চাই যদি আমার স্ট্রিংয়ের অর্থপূর্ণ মান থাকে। সুতরাং, আমি এটি চেষ্টা করেছিলাম।

if (!myString.equals("")) {
doSomething
}

এবং এই

if (!myString.equals(null)) {
doSomething
}

এবং এই

if ( (!myString.equals("")) && (!myString.equals(null))) {
doSomething
}

এবং এই

if ( (!myString.equals("")) && (myString!=null)) {
doSomething
}

এবং এই

if ( myString.length()>0) {
doSomething
}

এবং সব ক্ষেত্রেই আমার প্রোগ্রামটি doSomethingসত্য যে আমার স্ট্রিংটি EMPTY। এটি বর্তমানে এমন সমান null। তো, তাতে দোষ কী?

যোগ করেছেন:

আমি সমস্যার কারণ খুঁজে পেয়েছি। ভেরিয়েবলটিকে স্ট্রিং হিসাবে ঘোষণা করা হয়েছিল এবং ফলস্বরূপ, nullএই ভেরিয়েবলকে বরাদ্দ করা হয়েছিল "null"! সুতরাং, if (!myString.equals("null"))কাজ করে।


2
nullকোন পদ্ধতি নেই, তাই না equals()। যদি myStringথাকত nullতবে আপনি কীভাবে এটিতে কোনও পদ্ধতিতে প্রার্থনা করবেন? :)
BalusC

1
আমি কি আপনাকে প্রস্তাব দিতে পারি যে আপনি System.out.println(myString)যদি এই ব্লকটি করার আগে অবিলম্বে তা দেখতে পান তবে সেখানে কী আছে?
মাইকেল ম্যাইইয়ার্স

1
আপনি কীভাবে জানবেন যে "এটি সমান null"?
রিচার্ড জে পি লে গেন

6
nullএই ভেরিয়েবলকে বরাদ্দ করা হয়েছে "null"- এটি একটি ভয়ানক ধারণা। যদি সম্ভব হয় তবে এই নকশাটি পরিবর্তন করার চেষ্টা করুন।
বহুবৃত্তীয় খাবারগুলি

8
ইয়াক - আমি মনে করি না যে (! MyString.equals ("নাল")) পরীক্ষা করা সবচেয়ে ভাল সমাধান কিনা। আমার সন্দেহ হয় যে "নাল" স্ট্রিংটি মাইস্ট্রিংকে একটি বাগ হিসাবে নির্ধারিত হয়েছিল সেই বিন্দুটি বিবেচনা করবে।
বার্ট এফ

উত্তর:


231
if (myString != null && !myString.isEmpty()) {
  // doSomething
}

আরও মন্তব্য হিসাবে, আপনার equalsচুক্তিতে এই পদটি সম্পর্কে সচেতন হওয়া উচিত :

থেকে Object.equals(Object):

কোনও নন-নাল রেফারেন্স মানের জন্য x, x.equals(null)হওয়া উচিত return false

এর সাথে তুলনা করার উপায়টি nullহ'ল ব্যবহার x == nullএবং x != null

অধিকন্তু, x.fieldএবং x.method()ছোঁড়ার NullPointerExceptionযদি x == null


2
দক্ষতার উদ্দেশ্যে সমান বিরোধী হিসাবে আপনার দৈর্ঘ্য পরীক্ষা করা উচিত। এই লিঙ্কটি দেখুন hanuska.blogspot.com/2006/08/empty-string.html
কুলবিয়ানস

7
আমি বলব আপনার পাঠযোগ্যতার s.isEmpty()পরিবর্তে করা উচিত s.length() == 0। পারফরম্যান্সে কোনও পার্থক্য নগণ্য। আমি সম্মত না যে s.equals("")ভয়ানক।
বহুবৃত্তীয় পদার্থ 17

6
আমি পঠনযোগ্যতার সাথে একমত এটি জাভা 5 বনাম জাভা 6 ব্যবহার করছে কিনা তা নির্ভর করে যেহেতু ইম্প্টি () কেবল জাভা 6-এ রয়েছে
কুলবিয়ানস

@ কুলবিয়ানস: ভাল মন্তব্য! আমি বুঝতে পারি নি! আমি জাভা পার্টিতে কিছুটা দেরি করেছি =)
পলিজেনুব্রিকেন্টস

26

যদি myStringহয় null, তবে কল করে myString.equals(null)বা myString.equals("")একটি দিয়ে ব্যর্থ হবে NullPointerException। আপনি কোনও নাল ভেরিয়েবলে কোনও উদাহরণ পদ্ধতি কল করতে পারবেন না।

প্রথমে নালটি পরীক্ষা করুন:

if (myString != null && !myString.equals("")) {
    //do something
}

এটা তৈরি করে ব্যবহার শর্ট সার্কিট মূল্যায়ন প্রচেষ্টা না করায় .equalsযদি myStringনাল চেক ব্যর্থ।


শর্ট সার্কিটের জন্য +1; অভিব্যক্তিটি কাজ করার জন্য এটি প্রয়োজনীয়। তবে এর .isEmpty()পরিবর্তে আপনার ব্যবহার করা উচিত .equals("")
বহুবৃত্তীয় পদার্থগুলি

1
ঠিক আছে আমি এই পোস্টে আমার মন্তব্য বলতে চাইছিলাম। হাঃ হাঃ হাঃ. -> "আপনি যেমন দক্ষতা উদ্দেশ্যে সমান বিরোধিতা দৈর্ঘ্য চেক করা উচিৎ এই লিঙ্কে hanuska.blogspot.com/2006/08/empty-string.html পরীক্ষা করে দেখুন।"
CoolBeans

@ কুলবিয়ানস: অবশ্যই, এবং জাভা 6 এর মাধ্যমে আপনি এমনকি করতে পারেন myString.isEmpty()। তবে এই স্তরে, পাঠযোগ্যতা অপ্টিমাইজেশন ট্রাম্প করে এবং লোকেরা পড়ার ক্ষেত্রে আরও অভ্যস্ত হতে পারে myString.equals("")। (বা সম্ভবত নাও হতে পারে))
মাইকেল মায়ার্স

20

অ্যাপাচি কমন্স StringUtils.isNotEmptyযাওয়ার সর্বোত্তম উপায়।


13

যদি মাই স্ট্রিং প্রকৃতপক্ষে নাল হয়, তবে রেফারেন্সের কোনও কল একটি নাল পয়েন্টার ব্যতিক্রম (এনপিই) দিয়ে ব্যর্থ হবে। জাভা Since থেকে, দৈর্ঘ্যের চেকের পরিবর্তে # আইসপিটি ব্যবহার করুন (যে কোনও ক্ষেত্রে চেক দিয়ে একটি নতুন খালি স্ট্রিং তৈরি করার দরকার নেই)।

if (myString != null &&  !myString.isEmpty()){
    doSomething();
}

ঘটনাক্রমে আপনি যদি স্ট্রিং লিটারেলের সাথে তুলনা করেন তবে বিবৃতিটি উল্টে দেবে যাতে শূন্যতা পরীক্ষা করতে হবে না, অর্থাৎ,

if ("some string to check".equals(myString)){
  doSomething();
} 

পরিবর্তে :

if (myString != null &&  myString.equals("some string to check")){
    doSomething();
}

1
ভাল পয়েন্ট, তবে শেষ দুটি আইফএস সমতুল্য নয়। মাই স্ট্রিং = "এবিসি" দিয়ে, মাঝেরটি ডসোমিংথিং না বলে তৃতীয়টি করে does
রিমস্কি

@ রিমস্কি এটি স্থির হয়েছে
pavi2410



5

যদি আপনার স্ট্রিংটি নাল হয় তবে এই জাতীয় কলগুলিতে একটি নালরফেরান এক্সেপশন নিক্ষেপ করা উচিত:

myString.equals (নাল)

তবে যাইহোক, আমি মনে করি এর মতো একটি পদ্ধতিটি আপনি চান:

public static class StringUtils
{
    public static bool isNullOrEmpty(String myString)
    {
         return myString == null || "".equals(myString);
    }
}

তারপরে আপনার কোডগুলিতে আপনি এই জাতীয় জিনিসগুলি করতে পারেন:

if (!StringUtils.isNullOrEmpty(myString))
{
    doSomething();
}

5

আমি একটি বিদ্যমান ইউটিলিটি ব্যবহার করে বা আপনার নিজস্ব পদ্ধতি তৈরি করতে উত্সাহিত করব:

public static boolean isEmpty(String string) {
    return string == null || string.length() == 0;
}

তারপরে আপনার যখন প্রয়োজন হবে তখন এটি ব্যবহার করুন:

if (! StringUtils.isEmpty(string)) {
  // do something
}

উপরে উল্লিখিত হিসাবে, || এবং && অপারেটরদের শর্ট সার্কিট। এর অর্থ তারা যত তাড়াতাড়ি তাদের মান নির্ধারণ করতে পারে তারা থামে। সুতরাং (স্ট্রিং == নাল) যদি সত্য হয় তবে দৈর্ঘ্যের অংশটি মূল্যায়ন করার দরকার নেই, কারণ অভিব্যক্তিটি সর্বদা সত্য হবে। অনুরূপভাবে && এর সাথে, যেখানে বাম দিকটি মিথ্যা থাকে, ভাবটি সর্বদা মিথ্যা থাকে এবং আরও মূল্যায়ন করার প্রয়োজন হয় না।

অতিরিক্ত নোট হিসাবে, দৈর্ঘ্য ব্যবহার করা সাধারণত .equals ব্যবহারের চেয়ে ভাল ধারণা। পারফরম্যান্সটি কিছুটা ভাল (খুব বেশি নয়), এবং অবজেক্ট তৈরির প্রয়োজন হয় না (যদিও বেশিরভাগ সংকলক এটি এটিকে অপ্টিমাইজ করতে পারে)।


4

চেষ্টা করুন,

myString!=null && myString.length()>0

মাইস্ট্রিংটি যদি নাল হয় তবে এটি সম্ভব নয়
এইচএসমিট

4
যখন মাইস্ট্রিং নাল হয় তখন এটি বেশ সম্ভব। আপনার জানা উচিত যে যখন && এর বাম অংশটি ব্যর্থ হয় তখন ডান অভিব্যক্তিটি মোটেও মূল্যায়ন করা হবে না
ব্রেগবয়

4
 if (myString != null && myString.length() > 0) {

        // your magic here

 }

ঘটনাক্রমে, আপনি যদি অনেকগুলি স্ট্রিং ম্যানিপুলেশন করে থাকেন তবে সমস্ত ধরণের দরকারী পদ্ধতি সহ একটি দুর্দান্ত স্প্রিং ক্লাস রয়েছে:

http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/util/StringUtils.html


4

প্রতিবার যখনই স্ট্রিংগুলি মোকাবেলা করতে হবে (প্রায় প্রতিবারই) আমি থামি এবং অবাক করে দেখি যে কোন উপায়টি খালি স্ট্রিং চেক করার জন্য সবচেয়ে দ্রুততম উপায়। অবশ্যই স্ট্রিং। দৈর্ঘ্য == 0 চেকটি সবচেয়ে দ্রুত হওয়া উচিত যেহেতু দৈর্ঘ্য একটি সম্পত্তি এবং সম্পত্তির মান পুনরুদ্ধার করা ছাড়া অন্য কোনও প্রক্রিয়াজাতকরণ হওয়া উচিত নয়। তবে আমি নিজেকে জিজ্ঞাসা করি, স্ট্রিং কেন আছে? দৈর্ঘ্যের চেয়ে স্ট্রিং-এম্পটি পরীক্ষা করা দ্রুত হওয়া উচিত, আমি নিজেই বলি। ঠিক আছে, আমি এটিকে পরীক্ষা করার সিদ্ধান্ত নিয়েছি। আমি একটি ছোট উইন্ডোজ কনসোল অ্যাপ্লিকেশন কোড করেছিলাম যা আমাকে বলে যে 10 মিলিয়ন রিপিশনের জন্য একটি নির্দিষ্ট চেক করতে কত সময় লাগে। আমি তিনটি পৃথক স্ট্রিং পরীক্ষা করেছি: একটি নুল স্ট্রিং, একটি খালি স্ট্রিং এবং একটি স্ট্রিং। আমি 5 টি পৃথক পদ্ধতি ব্যবহার করেছি: স্ট্রিং.আইএসনুলআরম্পিটি (), আরআর == নাল, স্ট্র == নাল || str == স্ট্রিং.এম্পটি, টিআর == নাল || str == "", str == নাল || Str।

String.IsNullOrEmpty()
NULL = 62 milliseconds
Empty = 46 milliseconds
"" = 46 milliseconds

str == null
NULL = 31 milliseconds
Empty = 46 milliseconds
"" = 31 milliseconds

str == null || str == String.Empty
NULL = 46 milliseconds
Empty = 62 milliseconds
"" = 359 milliseconds

str == null || str == ""
NULL = 46 milliseconds
Empty = 343 milliseconds
"" = 78 milliseconds

str == null || str.length == 0
NULL = 31 milliseconds
Empty = 63 milliseconds
"" = 62 milliseconds

এই ফলাফল অনুসারে, গড় অনুসন্ধান করা str == nullদ্রুততম, তবে আমরা যা খুঁজছি তা সর্বদা পাওয়া যায় না। if str = String.Emptyবা str = "", এর ফলস্বরূপ মিথ্যা। তারপরে আপনার 2 টি রয়েছে যা দ্বিতীয় স্থানে আবদ্ধ: String.IsNullOrEmpty()এবং str == null || str.length == 0। যেহেতু String.IsNullOrEmpty()দেখতে সুন্দর লাগছে এবং লিখতে সহজ (এবং দ্রুত) তবে আমি এটি অন্যান্য সমাধানের মাধ্যমে ব্যবহার করার পরামর্শ দেব।


3

আমি এরকম কিছু করব:

( myString != null && myString.length() > 0 )
    ? doSomething() : System.out.println("Non valid String");
  • নাল চেকগুলির জন্য পরীক্ষা করা হচ্ছে মাই স্ট্রিংয়ের স্ট্রিংয়ের কোনও উদাহরণ রয়েছে কিনা।
  • দৈর্ঘ্য () দৈর্ঘ্য দেয় এবং সমান ("") এর সমান।
  • মাইস্ট্রিংটি প্রথমে নাল কিনা তা পরীক্ষা করা একটি নালপয়েন্টারএক্সসেপশন এড়াবে।

3

আমি ব্যবহার করছিলাম StringUtil.isBlank(string)

এটি পরীক্ষা করে যদি কোনও স্ট্রিং ফাঁকা থাকে: নাল, এমটিপি বা কেবল সাদা স্থান।

সুতরাং এটি এখন পর্যন্ত সেরা

এখানে ডক্স থেকে অরিগনাল পদ্ধতি

/**
    * Tests if a string is blank: null, emtpy, or only whitespace (" ", \r\n, \t, etc)
    * @param string string to test
    * @return if string is blank
    */
    public static boolean isBlank(String string) {
        if (string == null || string.length() == 0)
            return true;

        int l = string.length();
        for (int i = 0; i < l; i++) {
            if (!StringUtil.isWhitespace(string.codePointAt(i)))
                return false;
        }
        return true;
    } 

2

এই কাজ করা উচিত:

if (myString != null && !myString.equals(""))
    doSomething
}

যদি তা না হয় তবে মাই স্ট্রিংয়ের সম্ভবত একটি মূল্য রয়েছে যা আপনি প্রত্যাশা করছেন না। এটি এর মতো মুদ্রণের চেষ্টা করুন:

System.out.println("+" + myString + "+");

স্ট্রিংকে ঘিরে '+' চিহ্ন ব্যবহার করা আপনাকে দেখায় যে সেখানে কোনও অতিরিক্ত শ্বেত স্পেস রয়েছে যা আপনি অ্যাকাউন্টে নিচ্ছেন না।


2

if(str.isEmpty() || str==null){ do whatever you want }


3
#Empty বিপরীত হয় .. আপনি যদি নাল অবজেক্টে পদ্ধতি কল করেন তবে আপনি এনপিই পাবেন
ব্রায়ান

যদি স্ট্রিংটি নাল হয় তবে আপনি শূন্য পয়েন্টার ব্যতিক্রম পাবেন, এটি পরীক্ষা করার আগেও এটি নাল। এই কোডটি কখনই ব্যবহার করা উচিত নয়!
gil.fernandes

2

ঠিক আছে জাভাতে ডেটাটাইপগুলি এইভাবে কাজ করে। (আপনাকে আমার ইংরেজিকে ক্ষমা করতে হবে, আমি প্রোব। সঠিক ভোকাব ব্যবহার করছি না You আপনাকে তাদের দুটিয়ের মধ্যে পার্থক্য করতে হবে dat বেস ডেটাটাইপস এবং সাধারণ ডেটাটাইপস Base বেস ডেটা টাইপগুলি যা কিছু বিদ্যমান তা মেক আপ করে example উদাহরণস্বরূপ, সেখানে সমস্ত নম্বর, চর, বুলিয়ান ইত্যাদি data সাধারণ ডেটা টাইপ বা জটিল ডেটা টাইপ সবই A স্ট্রিং হল অক্ষরের একটি অ্যারে, সুতরাং একটি জটিল ডেটা টাইপ।

আপনার তৈরি প্রতিটি পরিবর্তনশীল হ'ল আপনার মেমরির মানটির একটি পয়েন্টার। উদাহরণ স্বরূপ:

String s = new String("This is just a test");

ভেরিয়েবল "s" তে একটি স্ট্রিং নেই। এটি একটি পয়েন্টার। এই পয়েন্টারটি আপনার স্মৃতিতে পরিবর্তনশীলকে নির্দেশ করে। আপনি কল যখন System.out.println(anyObject), toString()যে বস্তুর পদ্ধতি বলা হয়। যদি এটি toStringঅবজেক্ট থেকে ওভাররাইড না করে তবে এটি পয়েন্টারটি মুদ্রণ করবে। উদাহরণ স্বরূপ:

public class Foo{
    public static void main(String[] args) {
        Foo f = new Foo();
        System.out.println(f);
    }
}

>>>>
>>>>
>>>>Foo@330bedb4

"@" এর পিছনে সমস্ত কিছুই পয়েন্টার। এটি কেবল জটিল ডেটা ধরণের জন্য কাজ করে। আদিম ডেটাটাইপগুলি তাদের নির্দেশকগুলিতে সরাসরি সংরক্ষণ করা হয়। সুতরাং আসলে কোন পয়েন্টার নেই এবং মানগুলি সরাসরি সংরক্ষণ করা হয়।

উদাহরণ স্বরূপ:

int i = 123;

আমি এই ক্ষেত্রে একটি পয়েন্টার সংরক্ষণ করি না। আমি পূর্ণসংখ্যা মান 123 (বাইট বাইটে) সঞ্চয় করব।

ঠিক আছে সুতরাং ==অপারেটর ফিরে আসা যাক । এটি সর্বদা পয়েন্টারের সাথে তুলনা করে না মেমরিতে পয়েন্টারের অবস্থানটিতে সংরক্ষণ করা সামগ্রী not

উদাহরণ:

String s1 = new String("Hallo");
String s2 = new String("Hallo");

System.out.println(s1 == s2);

>>>>> false

এই উভয় স্ট্রিংয়ের আলাদা পয়েন্টার রয়েছে। স্ট্রিং.ইকুয়ালস (অন্যান্য স্ট্রিং) তবে সামগ্রীর তুলনা করে। আপনি '==' অপারেটরের সাথে আদিম উপাত্তের তুলনা করতে পারেন কারণ একই বিষয়বস্তু সহ দুটি পৃথক বস্তুর পয়েন্টার সমান।

নাল মানে পয়েন্টারটি খালি আছে। ডিফল্ট হিসাবে একটি খালি আদিম ডেটা টাইপ 0 (সংখ্যার জন্য)। কোনও জটিল বস্তুর জন্য নাল তবে এর অর্থ, সেই বস্তুর অস্তিত্ব নেই।

গ্রিটিংস


2

জাভাতে কোনও স্ট্রিংয়ের কোনও অর্থবহ সামগ্রী রয়েছে কিনা তা আমার জন্য সেরা পরীক্ষা:

string != null && !string.trim().isEmpty()

প্রথমে আপনি পরীক্ষা করে দেখুন যে স্ট্রিংটি nullএড়াতে হবে NullPointerExceptionএবং তারপরে আপনি কেবল সমস্ত শ্বেতক্ষেত্র রয়েছে এমন স্ট্রিংগুলি পরীক্ষা করতে এড়াতে সমস্ত স্থান অক্ষর ছাঁটাই এবং পরিশেষে আপনি পরীক্ষা করে নিন যে ছাঁটা স্ট্রিংটি খালি নেই, অর্থাৎ দৈর্ঘ্য 0 রয়েছে।


1

অ্যান্ড্রয়েডে আমার এই সমস্যা ছিল এবং আমি এইভাবে ব্যবহার করি (আমার জন্য কাজ করুন):

String test = null;
if(test == "null"){
// Do work
}

তবে জাভা কোডে আমি ব্যবহার করি:

String test = null;
if(test == null){
// Do work
}

এবং :

private Integer compareDateStrings(BeanToDoTask arg0, BeanToDoTask arg1, String strProperty) {
    String strDate0 = BeanUtils.getProperty(arg0, strProperty);_logger.debug("strDate0 = " + strDate0);
    String strDate1 = BeanUtils.getProperty(arg1, strProperty);_logger.debug("strDate1 = " + strDate1);
    return compareDateStrings(strDate0, strDate1);
}

private Integer compareDateStrings(String strDate0, String strDate1) {
    int cmp = 0;
    if (isEmpty(strDate0)) {
        if (isNotEmpty(strDate1)) {
            cmp = -1;
        } else {
            cmp = 0;
        }
    } else if (isEmpty(strDate1)) {
        cmp = 1;
    } else {
        cmp = strDate0.compareTo(strDate1);
    }
    return cmp;
}

private boolean isEmpty(String str) {
    return str == null || str.isEmpty();
}
private boolean isNotEmpty(String str) {
    return !isEmpty(str);
}


1

অ্যান্ড্রয়েডে আপনি এটিকে ইউটিলিটি পদ্ধতির isEmptyমাধ্যমে পরীক্ষা করতে পারেন TextUtils,

public static boolean isEmpty(CharSequence str) {
    return str == null || str.length() == 0;
}

isEmpty(CharSequence str)পদ্ধতি উভয় শর্ত পরীক্ষা করে, nullদৈর্ঘ্য এবং দৈর্ঘ্য।


1

আমি সর্বদা এটি ব্যবহার করি:

if (mystr != null && !mystr.isEmpty()){
  //DO WHATEVER YOU WANT OR LEAVE IT EMPTY
}else {
  //DO WHATEVER YOU WANT OR LEAVE IT EMPTY
}

বা আপনি এটি আপনার প্রকল্পে অনুলিপি করতে পারেন:

private boolean isEmptyOrNull(String mystr){
    if (mystr != null && !mystr.isEmpty()){ return true; }
    else { return false; }
}

এবং কেবল এটিকে কল করুন:

boolean b = isEmptyOrNull(yourString);

খালি বা শূন্য হলে এটি সত্য হবে।
b=trueযদি খালি বা নাল হয়

অথবা এটি শূন্য হলে আপনি ক্যাপচার চেষ্টা করতে পারেন এবং ধরতে পারেন।


0

আমি মনে করি যে মাইস্ট্রিং একটি স্ট্রিং নয় তবে স্ট্রিংগুলির একটি অ্যারে। এখানেই সব পাবেন আপনি যা করতে চান:

String myNewString = join(myString, "")
if (!myNewString.equals(""))
{
    //Do something
}

আমার কোডটি প্রক্রিয়াজাতকরণের জন্য। প্রসেসিং একটি জাভা ভিত্তিক প্রোগ্রামিং ভাষা। যোগদান সম্পর্কে আরও তথ্য: প্রসেসিং.আর / রেফারেন্স / জোইন_ইচটিএমএল
মিমিট

0

আপনি এটি ব্যবহার করে নলের সমান স্ট্রিং পরীক্ষা করতে পারেন:

String Test = null;
(Test+"").compareTo("null")

ফলাফল যদি 0 হয় তবে (পরীক্ষা + "") = "নাল"।


এটি কেবল একটি অপ্রয়োজনীয় স্ট্রিং তৈরি করে
svarog

0

আমি উপরে একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন নাল নির্মাণের জন্য উপরে বর্ণিত বেশিরভাগ উদাহরণগুলি চেষ্টা করেছি এবং এটি সমস্ত ব্যর্থ। সুতরাং আমি এমন একটি সমাধান নিয়ে এসেছি যা আমার জন্য যে কোনও সময় কার্যকর হয়েছিল।

String test = null+"";
If(!test.equals("null"){
       //go ahead string is not null

}

সুতরাং উপরে একটি খালি স্ট্রিংটি সহজেই সংযুক্ত করুন এবং "নাল" এর বিরুদ্ধে পরীক্ষা করুন এবং এটি সূক্ষ্মভাবে কাজ করে। আসলে কোন ব্যতিক্রম নিক্ষেপ করা হয় না


1
না, এটি একেবারে ভয়ানক সমাধান। উপরের উত্তরগুলি কাজ করে।
কনরাড রুডলফ

@ কনরাড রুডল্ফ আমার সিদ্ধান্তে পৌঁছানোর আগে আমি উপরের এই সমাধানগুলির মধ্যে কিছু চেষ্টা করেছি। আমি এই সমাধানগুলি একটি পুনর্ব্যবহারযোগ্য অ্যাডাপ্টারে ব্যবহার করার চেষ্টা করেছি এবং আমি এই উত্তরটি না আসা পর্যন্ত এটি আমাকে সঠিক ফলাফল দেয়নি।
leeCoder

আমি আত্মবিশ্বাসের সাথে বলতে পারি যে এর অর্থ আপনার কোডের সাথে অন্য কিছু আছে এবং আপনি ত্রুটিটির উত্স নয়, কেবল লক্ষণগুলি ঠিক করছেন fix এটি ভুল উপায়ে গ্রহণ করবেন না, তবে এটি কার্গো কাল্ট প্রোগ্রামিংয়ের একটি সাধারণ ঘটনা ।
কনরাড রুডলফ


0

আপনি যদি অ্যান্ড্রয়েডে কাজ করে থাকেন তবে সাধারণ টেক্সটইটিস ক্লাসটি ব্যবহার করতে পারেন। নিম্নলিখিত কোডটি পরীক্ষা করুন:

if(!TextUtils.isEmpty(myString)){
 //do something
}

এটি কোডের সহজ ব্যবহার। উত্তর পুনরাবৃত্তি হতে পারে। তবে আপনার জন্য একক এবং সাধারণ চেক করা সহজ।


-5

আপনাকে নাল দিয়ে চেক করতে হবে if(str != null).


5
আপনার সমাধান বছর আগে অন্য ব্যবহারকারীদের দ্বারা পোস্ট করা হয়েছিল ... এটি পুনরাবৃত্তি করার কি লাভ?
টিডিজি

1
আমি উত্তরগুলি নিশ্চিত করেই দেখতে পাচ্ছি না যে কারণেই আমি তাকে উত্তর
দিয়েছি

6
ঠিক আছে, তিনি ২০১০ সাল থেকে উত্তরগুলি নিশ্চিত করেছেন না, সুতরাং আপনি কেবল আগের উত্তরটি পুনরাবৃত্তি করবেন এবং তিনি আপনার উত্তরটি নিশ্চিত করবেন ...
TDG
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.