কোনও স্ট্রিং নাল এবং খালি নয় কিনা তা পরীক্ষা করুন


490

কোনও স্ট্রিং নাল এবং খালি নয় কিনা তা আমি কীভাবে পরীক্ষা করতে পারি?

public void doStuff(String str)
{
    if (str != null && str != "**here I want to check the 'str' is empty or not**")
    {
        /* handle empty string */
    }
    /* ... */
}

8
আপনার সম্ভবত ব্যবহার করা উচিত PreparedStatementএবং স্ট্রিং কনটেনটেশন আদিম দ্বারা একটি এসকিউএল কোয়েরি তৈরির পরিবর্তে। ইনজেকশন দুর্বলতা সব ধরনের এড়াতে আরো অনেক কিছু পাঠযোগ্য, ইত্যাদি
polygenelubricants

2
আপনি ক্লাস তৈরি করতে পারেন যা নাল মান বা নাল বস্তুর জন্য পরীক্ষা করবে। যে পুনঃব্যবহারের-ক্ষমতা উন্নত আপনাকে সাহায্য করবে .. stackoverflow.com/a/16833309/1490962
Bhushankumar Lilapara

উত্তর:


895

ইস্পটি () সম্পর্কে কী ?

if(str != null && !str.isEmpty())

&&এই ক্রমের অংশগুলি ব্যবহার করার বিষয়ে নিশ্চিত হন , কারণ জাভা দ্বিতীয় অংশটি মূল্যায়ন করতে অগ্রসর হবে না যদি প্রথম অংশটি &&ব্যর্থ হয়, সুতরাং এটি নিশ্চিত করে যে আপনি যদি নাল হয় str.isEmpty()তবে কোনও নাল পয়েন্টার ব্যতিক্রম পাবেন না str

সাবধান, এটি কেবল জাভা SE 1.6 থেকে উপলব্ধ। আপনাকে str.length() == 0পূর্ববর্তী সংস্করণগুলি পরীক্ষা করতে হবে।


হোয়াইটস্পেসও উপেক্ষা করার জন্য:

if(str != null && !str.trim().isEmpty())

(যেহেতু জাভা ১১ str.trim().isEmpty()হ্রাস করা যেতে পারে str.isBlank()যা অন্যান্য ইউনিকোড সাদা জায়গাগুলির জন্যও পরীক্ষা করবে)

একটি কার্যকর ফাংশনে আবৃত:

public static boolean empty( final String s ) {
  // Null-safe, short-circuit evaluation.
  return s == null || s.trim().isEmpty();
}

হয়ে:

if( !empty( str ) )

80
নোট যাতে isEmpty()একটি স্ট্রিং উদাহরণ প্রয়োজন বলে মনে হচ্ছে (অ স্থির)। নাল রেফারেন্সে এটি শুরু করা একটি নালপয়েন্টার এক্সসেপশন নিক্ষেপ করবে।
জেমস পি।

38
অথবা যদি (str! = নাল &&! Str.trim ()। IsEmpty ()), শ্বেত স্পেস উপেক্ষা করতে।
প্যাপাফ্রেড

যদি ((txt.getText ()। দৈর্ঘ্য ()) == 0) // লেআউট থেকে উপাদান পান
জুরুজাফা

32
আমি TextUtils.isEmpty(String)খালি বা নাল স্ট্রিং চেক করতে ব্যবহার করার পরামর্শ দিচ্ছি । সুন্দর এবং সংক্ষিপ্ত। টেক্সটইটিস ক্লাসটি অ্যান্ড্রয়েড এসডিকে-র একটি অংশ।
জর্জ মাইসুরাদজে

1
@ ইউজার ১১৫৩৩৯০: কখনও কখনও স্পষ্ট করে সত্যের জন্য সত্য এবং মিথ্যা স্পষ্টতার জন্য ব্যবহার করা যায় তবে যখন শর্ত সত্য এবং মিথ্যাটির পক্ষে মিথ্যা হয়ে যায়, তখন এর অযথা জটিলতা। সহজভাবে বলুন (str != null && str.length() > 0)
টুলমেকারস্টেভ

213

Org.apache.commons.lang.StringUtils ব্যবহার করুন

আমি এই ধরণের জিনিসগুলির জন্য অ্যাপাচি কমন্স-ল্যাং এবং বিশেষত স্ট্রিংগিলস ইউটিলিটি শ্রেণি ব্যবহার করতে চাই :

import org.apache.commons.lang.StringUtils;

if (StringUtils.isNotBlank(str)) {
    ...
} 

if (StringUtils.isBlank(str)) {
    ...
} 

17
আপনি যদি কেবল এস্পেটি ব্যবহার করতে পারেন তবে অ্যাপাচি কমন্স-লং ওভারকিল নয়? উৎসুক.
zengr

17
@ জেঞ্জার - না, কারণ আপনি অবশ্যই অন্যান্য জিনিসগুলি ব্যবহার করবেন :)
বোজো

2
@ জেঞ্জার প্রকৃতপক্ষে, আপনি যদি কেবলমাত্র ব্যবহার করেন isEmptyবা isBlank, সম্ভবত কোনও তৃতীয় পক্ষের লাইব্রেরি অন্তর্ভুক্ত করা দরকারী নয়। এই জাতীয় পদ্ধতি সরবরাহের জন্য আপনি কেবল নিজের ইউটিলিটি ক্লাস তৈরি করতে পারেন। যাইহোক, বোঝো ব্যাখ্যা হিসাবে, commons-langপ্রকল্পটি অনেকগুলি ব্যবহারযোগ্য পদ্ধতি সরবরাহ করে!
রোমেন লিনসালাস

13
কারণ StringUtils.isNotBlank(str)নাল-চেকিংও করে না।
sdesज्ञानlover

1
আপনি যদি স্প্রিং ফ্রেমওয়ার্ক ব্যবহার করেন তবে এটি ফ্রেমওয়ার্কের জারে আগেই বান্ডিল হতে পারে।
লিনাক্সুনিল

103

এখানে কেবল অ্যান্ড্রয়েড যুক্ত করুন:

import android.text.TextUtils;

if (!TextUtils.isEmpty(str)) {
...
}

1
@ স্ট্যাটিক্স, স্ট্রিং ইউটিলস পদ্ধতিটি ল্যাং সংস্করণ ২.০ এ পরিবর্তিত হয়েছে। এটি আর চারসেকেন্সকে ছাঁটাই করে না। এই কার্যকারিতা islalan () এ উপলব্ধ।
নিক

50

@ বি জর্ন এবং @ সানপ্যাট্রিকফ্লয়েডে যুক্ত করার জন্য এই পেয়ারার উপায়টি হল:

Strings.nullToEmpty(str).isEmpty(); 
// or
Strings.isNullOrEmpty(str);

কমন্স ল্যাং অনেক সময়ে আরও বেশি পঠনযোগ্য তবে আমি পেয়ারাটির উপর আস্তে আস্তে নির্ভর করে চলেছি প্লাস কখনও কখনও কমন্স ল্যাং বিভ্রান্ত হয় যখন এটি আসে isBlank()(হোয়াইটস্পেসে কি আছে তা হিসাবে)।

কমারস ল্যাংয়ের পেয়ারাটির সংস্করণটি হ'ল isBlank:

Strings.nullToEmpty(str).trim().isEmpty()

আমি কোডটি বলব যা অনুমতি দেয় না ""(খালি) এবং null এটি সন্দেহজনক এবং সম্ভাব্য বগি কারণ এটি সম্ভবত এমন সমস্ত ক্ষেত্রে পরিচালনা করে না যেখানে মঞ্জুরি দেয় না null(যদিও এসকিউএলের জন্য আমি বুঝতে পারি এসকিউএল / এইচকিউএল সম্পর্কে উদ্ভট কারণ '')।


দ্বিতীয় পেয়ারাও। পেয়ারা বহুবিধ স্থিত শ্রেণীর একটি সম্মেলন অনুসরণ করে। স্ট্রিংয়ের জন্য, স্টুল স্ট্যাটিক পদ্ধতিগুলির জন্য ইসনুলআরএম্পটি (স্ট্র) ব্যবহার করে দেখুন।
থাপ্টেন

34
str != null && str.length() != 0

অন্যথায়

str != null && !str.equals("")

অথবা

str != null && !"".equals(str)

দ্রষ্টব্য: দ্বিতীয় চেক (প্রথম এবং দ্বিতীয় বিকল্প) ধরে নেওয়া হয় যে str নਾਲ নয়। এটি ঠিক আছে কারণ প্রথম চেকটি সেই কাজটি করছে (এবং জাভা যদি প্রথমটি মিথ্যা হয় তবে দ্বিতীয় চেকটি করে না)!

গুরুত্বপূর্ণ: স্ট্রিং সমতার জন্য == ব্যবহার করবেন না। == পয়েন্টারটি সমান, পরীক্ষা করে না। দুটি স্ট্রিং বিভিন্ন মেমরি অ্যাড্রেসে (দুটি উদাহরণ) হতে পারে তবে একই মান থাকতে পারে!


ধন্যবাদ ... স্ট্রিং লেংথ () আমার পক্ষে কাজ করেছে। আমার ক্ষেত্রে এটি ছিল যে আমি ডাটাবেস থেকে জিজ্ঞাসা করার পরে অ্যারে থেকে মানগুলি পাচ্ছি। এমনকি ডেটা খালি থাকলেও, যখন আমি স্ট্রিং লেংথটি করি তখন এটি "1" দৈর্ঘ্য দিচ্ছিল। খুব আশ্চর্যজনক তবে আমাকে এটি দেখানোর জন্য ধন্যবাদ।
আরন-আরন

এটি ডাটাবেসের ইন্টার্নালগুলির সাথে কাজ করে। হয় এটি বর্ণের ক্ষেত্রের পরিবর্তে একটি চর ক্ষেত্র (সুতরাং এটি স্পেসগুলির সাথে প্যাড করে) বা ডাটাবেস খালি স্ট্রিং পছন্দ করে না। আমি অনুমান করি যে সন্ধানের পরে / যখন অ্যাপ্লিকেশনটির পরে ডেটা অ্যাক্সেসে থাকে তখন সেই মানগুলিকে প্রসেস করা best
হেলিওস

আমি মনে করি দৈর্ঘ্যটি 'সমান' এর চেয়ে ভাল কারণ এটি স্ট্রিংয়ের ক্ষেত্রে দৈর্ঘ্যটি ক্যাশে হওয়ার কারণে এটি একটি ও (1) অপারেশন।
bluelurker

26

আমি জানি প্রায় প্রতিটি লাইব্রেরি একটি ইউটিলিটি ক্লাস নামক সংজ্ঞা দেয় StringUtils, StringUtilবা StringHelper, এবং এগুলিতে সাধারণত আপনি যে পদ্ধতিটি সন্ধান করছেন তা অন্তর্ভুক্ত থাকে।

আমার ব্যক্তিগত প্রিয় অ্যাপাচি কমন্স / ল্যাং , যেখানে স্ট্রিং ইউটিলস ক্লাসে আপনি উভয়ই পাবেন

  1. স্ট্রিংইটিলস.আইএসপিটি (স্ট্রিং) এবং
  2. StringUtils.isBlank (স্ট্রিং) পদ্ধতি

(প্রথমটি পরীক্ষা করে যে কোনও স্ট্রিং নাল বা ফাঁকা, দ্বিতীয়টি এটি কেবল নাল, খালি বা সাদা স্থান কিনা তা পরীক্ষা করে দেখুন)

স্প্রিং, উইকেট এবং অন্যান্য অনেকগুলি লিবিজে একই জাতীয় ইউটিলিটি ক্লাস রয়েছে। আপনি যদি বাহ্যিক গ্রন্থাগার ব্যবহার না করেন তবে আপনি নিজের প্রকল্পে একটি স্ট্রিং ইউটিলস শ্রেণি প্রবর্তন করতে চাইতে পারেন।


আপডেট করুন: অনেক বছর পার হয়ে গিয়েছে, আর এই দিন আমি ব্যবহার বলতে চাই পেয়ারা এর Strings.isNullOrEmpty(string)পদ্ধতি।


আমি জিজ্ঞাসা করতে চাই আপনি এখন এটি সুপারিশ কেন? আমি জানতে চাই যে স্ট্রিংস.আইস নুলআরএম্পটি (স্ট্রিং) এবং স্ট্রিংইটিলস.আইএসপিটি (স্ট্রিং)
ভিসাঙ্গেল

@ ভিকাঙ্গেল অ্যাপাচি কমন্স পদ্ধতিগুলি অনুমান এবং আমি জিজ্ঞাসা করি নি এমন জিনিসগুলি পূর্ণ। পেয়ারা দিয়ে, আমি যা চেয়েছিলাম ঠিক তেমনই পাই এবং কম
সান প্যাট্রিক ফ্লয়েড

24

এটি আমার পক্ষে কাজ করে:

import com.google.common.base.Strings;

if (!Strings.isNullOrEmpty(myString)) {
       return myString;
}

যদি প্রদত্ত স্ট্রিংটি নাল হয় বা খালি স্ট্রিং হয় তবে সত্যটি ফিরে আসে।

নালটোএম্পটির সাথে আপনার স্ট্রিং রেফারেন্সগুলিকে স্বাভাবিক করার কথা বিবেচনা করুন। যদি আপনি এটি করেন তবে আপনি এই পদ্ধতির পরিবর্তে String.isEmpty () ব্যবহার করতে পারেন এবং আপনার স্ট্রিং. টুঅপারসেসের মতো পদ্ধতিগুলির বিশেষ নাল-নিরাপদ ফর্মগুলির প্রয়োজন হবে না। অথবা, যদি আপনি খালি স্ট্রিংগুলি শূন্যে রূপান্তর করে "অন্যদিকে" স্বাভাবিক করতে চান তবে আপনি খালি টননুল ব্যবহার করতে পারেন।


2
<d dependency> <groupId> com.google.guava </groupId> <artifactId> পেয়ারা </ b> <<<<< রূপান্তর> </d dependency>
জুনচেন লিউ

11

কেমন:

if(str!= null && str.length() != 0 )

স্ট্র নাল হলে নালপয়েন্টার এক্সসেপশন নিক্ষেপ করে।
মাইন্ডউইন

13
@ মাইন্ডউইন এটি সত্য নয়। এটি কোডের ডানদিকে &&চালিত করবে না যদি str == নাল, এভাবে একটি নালপয়েন্টার এক্সসেপশনকে আটকাবে। (উত্স: আমি কেবল চেষ্টা করেছি)
জ্যাচ লিসোবে

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

2
@ মাইন্ডউইন আপনি যে ভাষাটি ব্যবহার করছেন তা আসলে কীভাবে কাজ করে তা জেনে ভাল লাগল। আপনি যদি শর্ট-সার্কিট মূল্যায়ন বুঝতে না পারেন, হয় এটি ব্যবহার করবেন না বা আরও ভাল, এটি সম্পর্কে শিখুন।
লর্নে

7

অ্যাপাচি স্ট্রিংটিলস 'এর নটব্ল্যাঙ্ক পদ্ধতিটি ব্যবহার করুন

StringUtils.isNotBlank(str)

এটি কেবল সত্যটি ফিরে আসবে যদি স্ট্র নাল না থাকে এবং খালি না থাকে।


আসলে এখানে যদি str নাল হয়, বিবৃতিটি সত্য ফিরে আসে
আলেকজান্দ্রার

সত্য, আমার খারাপ !! পরিবর্তে অ্যাপাচি-কমন্সের স্ট্রিংগটিলস.আইসনোটম্পিটি (স্ট্র) ব্যবহারটি কাজটি করবে।
একটি নাল পয়েন্টার

6

আপনার ব্যবহার করা উচিত org.apache.commons.lang3.StringUtils.isNotBlank()বা org.apache.commons.lang3.StringUtils.isNotEmpty। এই দুইয়ের মধ্যে সিদ্ধান্ত আপনি যা যাচাই করতে চান তার উপর ভিত্তি করে।

IsNotBlank () চেক যে ইনপুট প্যারামিটার:

  • নাল না,
  • খালি স্ট্রিং নয় ("")
  • সাদা স্থানের অক্ষরগুলির ক্রম নয় ("")

IsNotEmpty () চেক শুধুমাত্র যে ইনপুট প্যারামিটার

  • নাল না
  • খালি স্ট্রিং নয় ("")


5

আপনি যদি পুরো লাইব্রেরিটি অন্তর্ভুক্ত করতে না চান; আপনি যে কোডটি চান তা কেবল অন্তর্ভুক্ত করুন। আপনার নিজের এটি বজায় রাখতে হবে; তবে এটি একটি দুর্দান্ত সোজা এগিয়ে ফাংশন। এখানে এটি Commons.apache.org থেকে অনুলিপি করা হয়েছে

    /**
 * <p>Checks if a String is whitespace, empty ("") or null.</p>
 *
 * <pre>
 * StringUtils.isBlank(null)      = true
 * StringUtils.isBlank("")        = true
 * StringUtils.isBlank(" ")       = true
 * StringUtils.isBlank("bob")     = false
 * StringUtils.isBlank("  bob  ") = false
 * </pre>
 *
 * @param str  the String to check, may be null
 * @return <code>true</code> if the String is null, empty or whitespace
 * @since 2.0
 */
public static boolean isBlank(String str) {
    int strLen;
    if (str == null || (strLen = str.length()) == 0) {
        return true;
    }
    for (int i = 0; i < strLen; i++) {
        if ((Character.isWhitespace(str.charAt(i)) == false)) {
            return false;
        }
    }
    return true;
}

5

এটি কিছুটা দেরি হয়ে গেছে তবে এখানে যাচাইয়ের কার্যকরী শৈলী:

Optional.ofNullable(str)
    .filter(s -> !(s.trim().isEmpty()))
    .ifPresent(result -> {
       // your query setup goes here
    });

1
আমি ট্রিমের জন্য একটি মানচিত্র ব্যবহার করার পরামর্শ দিব যেমন: Optional.ofNullable (str) .map (স্ট্রিং :: ট্রিম)। ফিল্টার (স্ট্রিং :: isEmpty) .আইফপ্রেসড (এই :: সেট স্ট্রিংমেথোদ);
বাচফ

5

একটি নতুন পদ্ধতি আছে : String#isBlank

যদি স্ট্রিংটি খালি থাকে বা কেবলমাত্র সাদা স্থান কোডপয়েন্ট রয়েছে, অন্যথায় মিথ্যা হলে সত্যটি ফেরত দেয়।

jshell> "".isBlank()
$7 ==> true

jshell> " ".isBlank()
$8 ==> true

jshell> " ! ".isBlank()
$9 ==> false

Optionalস্ট্রিংটি নাল বা খালি কিনা তা পরীক্ষা করার জন্য এটি একত্রিত হতে পারে

boolean isNullOrEmpty = Optional.ofNullable(str).map(String::isBlank).orElse(true);

স্ট্রিং # ISBLANK


3

পরীক্ষাটি খালি স্ট্রিংয়ের সাথে সমান এবং একই শর্তাধীন নাল:

if(!"".equals(str) && str != null) {
    // do stuff.
}

NullPointerExceptionআরআর নাল হলে ছোঁড়া হয় না , যেহেতু Object.equals()আরগ থাকলে মিথ্যা ফেরত দেয় null

অন্য নির্মাণ str.equals("")ভয়ঙ্কর নিক্ষেপ করবে NullPointerException। কেউ কেউ স্ট্রিং আক্ষরিক ব্যবহারকে খারাপ হিসাবে বিবেচনা করতে পারে formequals() বলা হয় তবে এটি কাজ করে।

এই উত্তরটিও দেখুন: https://stackoverflow.com/a/531825/1532705


1
সুতরাং কেন কোড পৌঁছেছেন না যোগ করুন str != null!"".equals(str)ইতিমধ্যে কাজটি করছি
amdev


2

সানাইজার যেমন উপরে বলেছে, অ্যাপাচি স্ট্রিং ইউটিসগুলি এটির জন্য দুর্দান্ত, যদি আপনি পেয়ারা অন্তর্ভুক্ত করেন তবে আপনাকে নিম্নলিখিতগুলি করা উচিত;

public List<Employee> findEmployees(String str, int dep) {
 Preconditions.checkState(StringUtils.isNotBlank(str), "Invalid input, input is blank or null");
 /** code here **/
}

আমিও আপনাকে সুপারিশ করতে পারি যে আপনি নিজের ফলাফলের কলামগুলি সূচকের পরিবর্তে নাম অনুসারে সেট করেছেন, এটি আপনার কোড বজায় রাখা আরও সহজ করে তুলবে।



আমি এই প্রশ্নটিতে অবতীর্ণ জাভা জাভা ব্যবহারকারীদের জন্য কিছু পেয়ারা উদাহরণ যুক্ত করেছি: স্ট্যাকওভারফ্লো . com / a / 13146903 / 318174
অ্যাডাম জেন্ট

2

আমি সম্পূর্ণ বিবরণী না দিয়ে একবারে কয়েকটি স্ট্রিং একবারে পরীক্ষা করার জন্য আমার নিজের ইউটিলিটি ফাংশনটি তৈরি করেছি if(str != null && !str.isEmpty && str2 != null && !str2.isEmpty)। এটি ফাংশন:

public class StringUtils{

    public static boolean areSet(String... strings)
    {
        for(String s : strings)
            if(s == null || s.isEmpty)
                return false;

        return true;
    }   

}

সুতরাং আমি কেবল লিখতে পারি:

if(!StringUtils.areSet(firstName,lastName,address)
{
    //do something
}

2
স্বাক্ষরটি ব্যবহার করতে আরও ভাল লাগবে: areSet(String... strings)তারপরে অ্যারে তৈরি না করেই আবেদন করা যেতে পারে:if(!StringUtils.areSet(firstName, lastName, address))
ওয়েস্টন

2

আপনি যদি জাভা 8 ব্যবহার করছেন এবং আরও কার্যকরী প্রোগ্রামিং পদ্ধতিকে চান, আপনি Functionনিয়ন্ত্রণটি পরিচালনা করতে পারেন এবং তারপরে আপনি এটি পুনরায় ব্যবহার করতে পারেন এবংapply() যখনই প্রয়োজন হবে।

অনুশীলন করতে আসা, আপনি Functionহিসাবে সংজ্ঞায়িত করতে পারেন

Function<String, Boolean> isNotEmpty = s -> s != null && !"".equals(s)

তারপরে, আপনি কেবল apply()পদ্ধতিটি কল করে এটি ব্যবহার করতে পারেন :

String emptyString = "";
isNotEmpty.apply(emptyString); // this will return false

String notEmptyString = "StackOverflow";
isNotEmpty.apply(notEmptyString); // this will return true

আপনি যদি পছন্দ করেন তবে আপনি এটি নির্ধারণ করতে পারেন যা খালি আছে Functionকিনা তা যাচাই করে Stringএবং তার সাথে এটি তুচ্ছ করতে পারেন!

এক্ষেত্রে, Functionচেহারাটি এর মতো দেখাবে:

Function<String, Boolean> isEmpty = s -> s == null || "".equals(s)

তারপরে, আপনি কেবল apply()পদ্ধতিটি কল করে এটি ব্যবহার করতে পারেন :

String emptyString = "";
!isEmpty.apply(emptyString); // this will return false

String notEmptyString = "StackOverflow";
!isEmpty.apply(notEmptyString); // this will return true

পারফরম্যান্স ব্যয় বা পার্শ্ব-প্রতিক্রিয়া নিয়ে আমি যখন উদ্বিগ্ন থাকি এবং সহজে আমদানি করি না তখনই আমি এটি করতে চাই।
ডেভিড.পিএফএফএক্স

2

সঙ্গে জাভা 8 ঐচ্ছিক আপনি কি করতে পারেন:

public Boolean isStringCorrect(String str) {
    return Optional.ofNullable(str)
            .map(String::trim)
            .map(string -> !str.isEmpty())
            .orElse(false);
}

এই অভিব্যক্তিটিতে, আপনি Stringস্থানগুলিও সমন্বিত সেগুলি পরিচালনা করবেন ।


1

আপনি স্ট্রিংইটিলস.আইএসপিটি () ব্যবহার করতে পারেন, স্ট্রিংটি নালাগুলি বা খালি থাকলে সত্য হয়ে যাবে।

 String str1 = "";
 String str2 = null;

 if(StringUtils.isEmpty(str)){
     System.out.println("str1 is null or empty");
 }

 if(StringUtils.isEmpty(str2)){
     System.out.println("str2 is null or empty");
 }

ফলাফল হবে

str1 নাল বা খালি empty

str2 টি নাল বা খালি


বা কেবল ব্যবহার করুনisNotBlank
ব্রায়ান

1

আমি আপনার প্রকৃত প্রয়োজন অনুসারে পেয়ারা বা অ্যাপাচি কমন্সকে পরামর্শ দেব। আমার উদাহরণ কোডে বিভিন্ন আচরণ পরীক্ষা করে দেখুন:

import com.google.common.base.Strings;
import org.apache.commons.lang.StringUtils;

/**
 * Created by hu0983 on 2016.01.13..
 */
public class StringNotEmptyTesting {
  public static void main(String[] args){
        String a = "  ";
        String b = "";
        String c=null;

    System.out.println("Apache:");
    if(!StringUtils.isNotBlank(a)){
        System.out.println(" a is blank");
    }
    if(!StringUtils.isNotBlank(b)){
        System.out.println(" b is blank");
    }
    if(!StringUtils.isNotBlank(c)){
        System.out.println(" c is blank");
    }
    System.out.println("Google:");

    if(Strings.isNullOrEmpty(Strings.emptyToNull(a))){
        System.out.println(" a is NullOrEmpty");
    }
    if(Strings.isNullOrEmpty(b)){
        System.out.println(" b is NullOrEmpty");
    }
    if(Strings.isNullOrEmpty(c)){
        System.out.println(" c is NullOrEmpty");
    }
  }
}

ফলাফল:
অ্যাপাচি:
একটি ফাঁকা
বি ফাঁকা
সি খালি
গুগল:
বি হ'ল নুলআরএম্পটি
সি হ'ল নলআরএম্পটি


1

আপনি যদি স্প্রিং বুট ব্যবহার করেন তবে নীচের কোডটি কাজটি করবে

StringUtils.hasLength(str)

0

সম্পূর্ণতার: আপনি হয় ইতিমধ্যে বসন্ত পরিকাঠামোকে ব্যবহার করে , StringUtils প্রদান পদ্ধতি

org.springframework.util.StringUtils.hasLength(String str)

রিটার্নস: স্ট্রিংটি নাল নয় এবং দৈর্ঘ্য থাকলে সত্য

পাশাপাশি পদ্ধতি

org.springframework.util.StringUtils.hasText(String str)

রিটার্নস: স্ট্রিংটি শূন্য না হলে সত্য, এর দৈর্ঘ্য 0 এর চেয়ে বেশি এবং এটিতে কেবল শ্বেত স্পেস থাকে না


আমরা স্ট্রিংইটিলস.আইএসপিটি (প্যারাম) পদ্ধতি ব্যবহার করতে পারি।
সুপুন ধর্মরত্ন

0

সহজভাবে, সাদা স্থান পাশাপাশি উপেক্ষা:

if (str == null || str.trim().length() == 0) {
    // str is empty
} else {
    // str is not empty
}

0

আপনি যদি বসন্ত কাঠামো ব্যবহার করেন তবে আপনি পদ্ধতিটি ব্যবহার করতে পারেন:

org.springframework.util.StringUtils.isEmpty(@Nullable Object str);

এই পদ্ধতিটি কোনও অবজেক্টকে আর্গুমেন্ট হিসাবে গ্রহণ করে, একে নাল এবং খালি স্ট্রিংয়ের সাথে তুলনা করে। ফলস্বরূপ, এই পদ্ধতিটি কোনও নন-নাল-স্ট্রিং অবজেক্টের জন্য কখনই সত্য হয় না।


1
নোট করুন যে ডকুমেন্টেশন StringUtilsস্পষ্টভাবে "ফ্রেমওয়ার্কের অভ্যন্তরীণ ব্যবহারের জন্য; স্ট্রিং ইউটিলিটিগুলির আরও বিস্তৃত স্যুট জন্য অ্যাপাচি কমন্স ল্যাং বিবেচনা করুন states"
ফ্রেড্রিক জোনসন


0

কোনও বস্তুর সমস্ত স্ট্রিং বৈশিষ্ট্য খালি আছে কিনা তা পরীক্ষা করতে (ব্যবহারের পরিবর্তে! = জাভা প্রতিবিম্ব এপিআই পদ্ধতির অনুসরণ করে সমস্ত ক্ষেত্রের নামের উপর নাল

private String name1;
private String name2;
private String name3;

public boolean isEmpty()  {

    for (Field field : this.getClass().getDeclaredFields()) {
        try {
            field.setAccessible(true);
            if (field.get(this) != null) {
                return false;
            }
        } catch (Exception e) {
            System.out.println("Exception occurred in processing");
        }
    }
    return true;
}

সমস্ত স্ট্রিংয়ের ক্ষেত্রের মান ফাঁকা থাকলে এই পদ্ধতিটি সত্য হবে, যদি কোনও মান মান স্ট্রিং বৈশিষ্ট্যে উপস্থিত থাকে তবে এটি মিথ্যা প্রত্যাবর্তন করবে


0

আমি এমন পরিস্থিতির মুখোমুখি হয়েছি যেখানে আমাকে অবশ্যই পরীক্ষা করতে হবে যে "নাল" (স্ট্রিং হিসাবে) অবশ্যই শূন্য হিসাবে গণ্য হবে। এছাড়াও সাদা স্থান এবং একটি বাস্তব নাল অবশ্যই সত্য ফিরে আসতে হবে। আমি অবশেষে নিম্নলিখিত ফাংশন স্থির করেছি ...

public boolean isEmpty(String testString) {
  return ((null==testString) || "".equals((""+testString).trim()) || "null".equals((""+testString).toLowerCase()));
}

0

আপনি যদি আপনার পদ্ধতির পরামিতিগুলি যাচাই করতে চান তবে আপনি অনুসরণ করতে পারেন সহজ পদ্ধতি

public class StringUtils {

    static boolean anyEmptyString(String ... strings) {
        return Stream.of(strings).anyMatch(s -> s == null || s.isEmpty());
    }

}

উদাহরণ:

public String concatenate(String firstName, String lastName) {
    if(StringUtils.anyBlankString(firstName, lastName)) {
        throw new IllegalArgumentException("Empty field found");
    }
    return firstName + " " + lastName;
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.