['   \n  \n [\'ਪਬਲਿਕ ਸਟੈਟਿਕ ਵੋਇਡ ਮੇਨ (NAME _ 1 [] ਆਰਗਸ) {\\n NAME _ 1 ਸਟਰਟੈਸਟ = ਨੱਲ; \\n ਜੇਕਰ (strTest.equals ("GAJANANA")) {\\n System.out.println ("ਪਾਸ"); \\n} \\n\'] ', 'ਪਬਲਿਕ ਸਟੈਟਿਕ ਵੋਇਡ ਮੇਨ (NAME _ 1 [] ਆਰਗਸ) {NAME _ 1 ਸਟਰਟੈਸਟ = ਨੱਲ; ਜੇਕਰ (strTest.equals ("GAJANANA")) {System.out.println ("ਪਾਸ");}}', ' [\'ਪਬਲਿਕ ਸਟੈਟਿਕ ਵੋਇਡ ਮੇਨ (NAME _ 1 [] ਆਰਗਸ) {\\n NAME _ 1 ਸਟਰਟੈਸਟ = ਨੱਲ; \\n ਜੇਕਰ (strTest.equals ("GAJANANA")) {\\n System.out.println ("ਪਾਸ"); \\n} \\n\', \'ਇਹNAME _ 2 ਕੋਡ ਇੱਕ ਸਧਾਰਨ ਪ੍ਰੋਗਰਾਮ ਹੈ ਜੋ ਇਹ ਜਾਂਚਦਾ ਹੈ ਕਿ ਕੀ ਇਸ ਨੂੰ ਪਾਸ ਕੀਤਾ ਗਿਆ NAME _ 1, NAME _ 1 "GAJANANA" ਦੇ ਬਰਾਬਰ ਹੈ। ਜੇਕਰ NAME _ 1 ਬਰਾਬਰ ਹੈ, ਤਾਂ ਇਹ ਪ੍ਰਿੰਟ ਕਰੇਗਾ।ਕੰਸੋਲ ਵਿੱਚ "ਪਾਸ" ਕਰੋ। ਪਰ, ਇਸ ਕੋਡ ਵਿੱਚ ਇੱਕ ਸਮੱਸਿਆ ਹੈ। \\n\\n ਵੇਰੀਏਬਲ \'ਸਟਰਟੈਸਟ\' ਨੂੰ \'ਨਾਮ _ 1\' ਐਲਾਨਿਆ ਜਾਂਦਾ ਹੈ ਪਰ ਇਸ ਨੂੰ ਕਦੇ ਵੀ ਸ਼ੁਰੂ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ।ਨਾਮ _ 2, ਤੁਸੀਂ ਕਿਸੇ ਹੋਰ ਮੁੱਲ ਨਾਲ \'ਨਾਮ _ 1\' ਦੀ ਤੁਲਨਾ ਨਹੀਂ ਕਰ ਸਕਦੇ। ਇਸ ਲਈ, ਇਹ ਕੋਡ ਹਮੇਸ਼ਾ ਇੱਕ \'ਨਲਪੁਆਇੰਟਰ ਐਕਸੈਪਸ਼ਨ\' ਵਿੱਚ ਨਤੀਜਾ ਦੇਵੇਗਾ। \\n\\nToਇਸ ਮੁੱਦੇ ਨੂੰ ਹੱਲ ਕਰੋ, ਤੁਹਾਨੂੰ ਹੋਰ ਸਤਰ ਨਾਲ ਤੁਲਨਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਜਾਇਜ਼ ਨਾਮ _ 1 ਮੁੱਲ ਨਾਲ \'ਸਟਰਟੈਸਟ\' ਵੇਰੀਏਬਲ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ। ਉਦਾਹਰਣ ਲਈ, ਤੁਸੀਂ ਕਰ ਸਕਦੇ ਹੋਇਸ ਨੂੰ ਇੱਕ ਖਾਲੀ ਨਾਮ _ 1 ਨਾਲ ਇਸ ਤਰ੍ਹਾਂ ਅਰੰਭ ਕਰੋਃ \\n "\'NAME _ 2\\nਪਬਲਿਕ ਸਟੈਟਿਕ ਵਾਇਲਡ ਮੇਨ (NAME _ 1 [] ਆਰਗਸ) {\\n NAME _ 1 ਸਟਰਟੈਸਟ ="; \\n ਜੇਕਰ(strTest.equals ("GAJANANA")) {\\n System.out.println ("ਪਾਸ"); \\n} \\n} \\n "\\n ਇਸ ਕੋਡ ਵਿੱਚ, \'ਸਟਰਟੈਸਟ\' ਵੇਰੀਏਬਲ ਨੂੰ ਇੱਕ ਖਾਲੀ ਨਾਮ _ 1 ਨਾਲ ਅਰੰਭ ਕੀਤਾ ਜਾਂਦਾ ਹੈ,ਅਤੇ ਪ੍ਰੋਗਰਾਮ ਉਮੀਦ ਅਨੁਸਾਰ ਕੰਮ ਕਰੇਗਾ, ਕੰਸੋਲ ਨੂੰ "ਪਾਸ" ਪ੍ਰਿੰਟ ਕਰਨਾ ਜੇ ਇਸ ਨੂੰ ਪਾਸ ਕੀਤਾ ਗਿਆ ਨਾਮ _ 1 "GAJANANA" ਦੇ ਬਰਾਬਰ ਹੈ।ledgerEntryStream.filter (ਆਬਜੈਕਟਸਃਃ ਨਾਨ-ਨਲ) \\n. ਫਿਲਟਰ (ਲੇਜ਼ਰਇੰਟਰੀ-> transactionId.equalsIgnoreCase (ledgerEntry.getTransactionId ())) \\n. ਇਕੱਠਾ ਕਰੋ (Collectors.toList ()); \\n\\nif (Objects.isNull (ਲੇਜ਼ਰਇੰਟਰੀਜ਼)।। ledgerEntries.size () <= 0) {\\neventPublishingResponse.setStatus (EventPublishingStatus.BAD_REQUEST); \\n ਰੀਟਰਨ ਈਵੈਂਟਪਬਲਿਸ਼ਿੰਗ ਰਿਸਪਾਂਸ; \\n \'] ', 'ਪਬਲਿਕ ਸਟੈਟਿਕ ਵੋਇਡ ਮੇਨ (NAME _ 1 [] ਆਰਗਸ) {NAME _ 1 ਸਟਰਟੈਸਟ = ਨੱਲ; ਜੇਕਰ (strTest.equals ("GAJANANA")) {System.out.println ("ਪਾਸ");}}', ' [\'ਪਬਲਿਕ ਸਟੈਟਿਕ ਵੋਇਡ ਮੇਨ (NAME _ 1 [] ਆਰਗਸ) {\\n NAME _ 1 ਸਟਰਟੈਸਟ = ਨੱਲ; \\n ਜੇਕਰ (strTest.equals ("GAJANANA")) {\\n System.out.println ("ਪਾਸ"); \\n} \\n\', \'ਇਹNAME _ 2 ਕੋਡ ਇੱਕ ਸਧਾਰਨ ਪ੍ਰੋਗਰਾਮ ਹੈ ਜੋ ਇਹ ਜਾਂਚਦਾ ਹੈ ਕਿ ਕੀ ਇਸ ਨੂੰ ਪਾਸ ਕੀਤਾ ਗਿਆ NAME _ 1, NAME _ 1 "GAJANANA" ਦੇ ਬਰਾਬਰ ਹੈ। ਜੇਕਰ NAME _ 1 ਬਰਾਬਰ ਹੈ, ਤਾਂ ਇਹ ਪ੍ਰਿੰਟ ਕਰੇਗਾ।ਕੰਸੋਲ ਵਿੱਚ "ਪਾਸ" ਕਰੋ। ਪਰ, ਇਸ ਕੋਡ ਵਿੱਚ ਇੱਕ ਸਮੱਸਿਆ ਹੈ। \\n\\n ਵੇਰੀਏਬਲ \'ਸਟਰਟੈਸਟ\' ਨੂੰ \'ਨਾਮ _ 1\' ਐਲਾਨਿਆ ਜਾਂਦਾ ਹੈ ਪਰ ਇਸ ਨੂੰ ਕਦੇ ਵੀ ਸ਼ੁਰੂ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ।ਨਾਮ _ 2, ਤੁਸੀਂ ਕਿਸੇ ਹੋਰ ਮੁੱਲ ਨਾਲ \'ਨਾਮ _ 1\' ਦੀ ਤੁਲਨਾ ਨਹੀਂ ਕਰ ਸਕਦੇ। ਇਸ ਲਈ, ਇਹ ਕੋਡ ਹਮੇਸ਼ਾ ਇੱਕ \'ਨਲਪੁਆਇੰਟਰ ਐਕਸੈਪਸ਼ਨ\' ਵਿੱਚ ਨਤੀਜਾ ਦੇਵੇਗਾ। \\n\\nToਇਸ ਮੁੱਦੇ ਨੂੰ ਹੱਲ ਕਰੋ, ਤੁਹਾਨੂੰ ਹੋਰ ਸਤਰ ਨਾਲ ਤੁਲਨਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਜਾਇਜ਼ ਨਾਮ _ 1 ਮੁੱਲ ਨਾਲ \'ਸਟਰਟੈਸਟ\' ਵੇਰੀਏਬਲ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ। ਉਦਾਹਰਣ ਲਈ, ਤੁਸੀਂ ਕਰ ਸਕਦੇ ਹੋਇਸ ਨੂੰ ਇੱਕ ਖਾਲੀ ਨਾਮ _ 1 ਨਾਲ ਇਸ ਤਰ੍ਹਾਂ ਅਰੰਭ ਕਰੋਃ \\n "\'NAME _ 2\\nਪਬਲਿਕ ਸਟੈਟਿਕ ਵਾਇਲਡ ਮੇਨ (NAME _ 1 [] ਆਰਗਸ) {\\n NAME _ 1 ਸਟਰਟੈਸਟ ="; \\n ਜੇਕਰ(strTest.equals ("GAJANANA")) {\\n System.out.println ("ਪਾਸ"); \\n} \\n} \\n "\\n ਇਸ ਕੋਡ ਵਿੱਚ, \'ਸਟਰਟੈਸਟ\' ਵੇਰੀਏਬਲ ਨੂੰ ਇੱਕ ਖਾਲੀ ਨਾਮ _ 1 ਨਾਲ ਅਰੰਭ ਕੀਤਾ ਜਾਂਦਾ ਹੈ,ਅਤੇ ਪ੍ਰੋਗਰਾਮ ਉਮੀਦ ਅਨੁਸਾਰ ਕੰਮ ਕਰੇਗਾ, ਕੰਸੋਲ ਨੂੰ "ਪਾਸ" ਪ੍ਰਿੰਟ ਕਰਨਾ ਜੇ ਇਸ ਨੂੰ ਪਾਸ ਕੀਤਾ ਗਿਆ ਨਾਮ _ 1 "GAJANANA" ਦੇ ਬਰਾਬਰ ਹੈ।ledgerEntryStream.filter (ਆਬਜੈਕਟਸਃਃ ਨਾਨ-ਨਲ) \\n. ਫਿਲਟਰ (ਲੇਜ਼ਰਇੰਟਰੀ-> transactionId.equalsIgnoreCase (ledgerEntry.getTransactionId ())) \\n. ਇਕੱਠਾ ਕਰੋ (Collectors.toList ()); \\n\\nif (Objects.isNull (ਲੇਜ਼ਰਇੰਟਰੀਜ਼)।। ledgerEntries.size () <= 0) {\\neventPublishingResponse.setStatus (EventPublishingStatus.BAD_REQUEST); \\n ਰੀਟਰਨ ਈਵੈਂਟਪਬਲਿਸ਼ਿੰਗ ਰਿਸਪਾਂਸ; \\n} \',\' ਇਹ NAME _ 2 ਕੋਡ ਇੱਕ ਵੱਡੇ ਕੋਡ ਦਾ ਹਿੱਸਾ ਹੈ।ਪਰੋਗਰਾਮ ਜੋ ਇੱਕ ਖਾਤਾ-ਪੱਤਰ ਨਾਲ ਸਬੰਧਤ ਕੁੱਝ ਡੇਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਦਾ ਜਾਪਦਾ ਹੈ। \\n\\n ਕੋਡ ਦੀ ਪਹਿਲੀ ਲਾਈਨ ਇੱਕ \'ਸੂਚੀ <ਲੇਜ਼ਰ ਐਂਟਰੀ>\' ਵੇਰੀਏਬਲ ਬਣਾਉਂਦੀ ਹੈ ਜਿਸ ਦਾ ਨਾਮ ਹੈ\'ਫਿਲਟਰ ()\' ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ \'ਲੇਜ਼ਰ ਐਂਟਰੀ ਸਟ੍ਰੀਮ\' ਇੰਪੁੱਟ ਵਿੱਚੋਂ ਕਿਸੇ ਵੀ ਨੱਲ ਐਂਟਰੀ ਨੂੰ ਫਿਲਟਰ ਕਰਕੇ \'ਲੇਜ਼ਰ ਐਂਟਰੀਜ਼\'। ਫਿਰ ਇਹ ਕਿਸੇ ਵੀ ਐਂਟਰੀ ਨੂੰ ਫਿਲਟਰ ਕਰਦਾ ਹੈ।ਜਿਸ ਦਾ \'ਟ੍ਰਾਂਜੈਕਸ਼ਨਆਈਡੀ\' \'ਟ੍ਰਾਂਜੈਕਸ਼ਨਆਈਡੀ\' ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ ਜੋ ਵਿਧੀ ਲਈ ਇੱਕ ਆਰਗੂਮੈਂਟ ਵਜੋਂ ਪਾਸ ਕੀਤਾ ਗਿਆ ਹੈ। ਅੰਤ ਵਿੱਚ, ਇਹ ਫਿਲਟਰ ਕੀਤੀਆਂ ਐਂਟਰੀਆਂ ਨੂੰ ਇੱਕ ਵਿੱਚ ਇਕੱਤਰ ਕਰਦਾ ਹੈ\'Collectors.toList ()\' ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ \'<LedgerEntry>\' ਸੂਚੀਬੱਧ ਕਰੋ। \\n\\n ਕੋਡ ਦੀ ਦੂਜੀ ਲਾਈਨ ਜਾਂਚਦੀ ਹੈ ਕਿ ਕੀ \'ledgerEntrys\' ਸੂਚੀ ਨੱਲ ਹੈ ਜਾਂ ਖਾਲੀ ਹੈ।\'Objects.isNull ()\' ਅਤੇ \'Objects.size ()\' ਢੰਗ। ਜੇਕਰ ਸੂਚੀ ਨੱਲ ਜਾਂ ਖਾਲੀ ਹੈ, ਤਾਂ ਪ੍ਰੋਗਰਾਮ \'ਈਵੈਂਟਪਬਲਿਸ਼ਿੰਗ ਰਿਸਪਾਂਸ\' ਆਬਜੈਕਟ ਦੀ \'ਸਥਿਤੀ\' ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ।\'EventPublishingStatus.BAD_REQUEST\' ਤੇ ਜਾਓ ਅਤੇ ਇਸ ਨੂੰ ਵਾਪਸ ਕਰੋ। \\n\\n ਇਹ ਕੋਡ ਇਸ ਗੱਲ ਦੀ ਇੱਕ ਚੰਗੀ ਉਦਾਹਰਣ ਹੈ ਕਿ \'ਫਿਲਟਰ ()\' ਅਤੇ \'ਕੁਲੈਕਟ ()\' ਵਿਧੀਆਂ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ।ਐੱਨ. ਏ. ਐੱਮ. ਈ. 2 ਵਿੱਚ ਡੇਟਾ ਦੀ ਇੱਕ ਧਾਰਾ ਹੈ। ਹਾਲਾਂਕਿ, ਨੋਟ ਕਰਨ ਲਈ ਕੁੱਝ ਚੀਜ਼ਾਂ ਹਨਃ \\n\\n1। \'ਇਕੁਅਲਸਇਗਨੋਰਕੇਸ ()\' ਵਿਧੀ ਦੀ ਵਰਤੋਂ \'ਟ੍ਰਾਂਜੈਕਸ਼ਨਆਈਡੀ\' ਦੀ ਤੁਲਨਾ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।\'ਟ੍ਰਾਂਜੈਕਸ਼ਨਆਈਡੀ\' ਨਾਲ \'ਲੇਜ਼ਰ ਐਂਟਰੀ\' ਆਬਜੈਕਟ ਨੂੰ ਵਿਧੀ ਲਈ ਇੱਕ ਆਰਗੂਮੈਂਟ ਵਜੋਂ ਪਾਸ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਸ ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਸਤਰ ਹੋਣ ਦੇ ਮਾਮਲੇ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।ਤੁਲਨਾ ਕੀਤੀ ਗਈ। ਹਾਲਾਂਕਿ, ਇਹ ਨੋਟ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਇਹ ਵਿਧੀ ਸਿਰਫ \'ਨਾਮ _ 1\' ਆਬਜੈਕਟ ਨਾਲ ਕੰਮ ਕਰਦੀ ਹੈ, ਨਾ ਕਿ ਹੋਰ ਆਬਜੈਕਟ ਨਾਲ। \\n2. \'Objects.isNull ()\'ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਇਹ ਜਾਂਚ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਕੀ \'ਲੇਜ਼ਰ ਐਂਟਰੀਜ਼\' ਸੂਚੀ ਨੱਲ ਹੈ। ਇਹ ਵਿਧੀ ਇਹ ਜਾਂਚ ਕਰਨ ਲਈ ਇੱਕ ਸ਼ਾਰਟਕੱਟ ਹੈ ਕਿ ਕੀ ਕੋਈ ਵਸਤੂ ਨੱਲ ਹੈ, ਜੋ ਕਿ ਇੱਕ ਆਮ ਕਾਰਵਾਈ ਹੈ।ਹਾਲਾਂਕਿ, ਇਹ ਨੋਟ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਇਹ ਵਿਧੀ ਸਿਰਫ ਵਸਤੂਆਂ ਨਾਲ ਕੰਮ ਕਰਦੀ ਹੈ, ਨਾ ਕਿ ਆਰੰਭਿਕ ਕਿਸਮਾਂ ਨਾਲ। \\n3. \'Objects.size ()\' ਵਿਧੀ ਹੈ\'ਲੇਜ਼ਰ ਐਂਟਰੀਜ਼\' ਸੂਚੀ ਦੇ ਅਕਾਰ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਵਿਧੀ ਨਾਮ _ 2 ਵਿੱਚ ਕਿਸੇ ਵਸਤੂ ਦਾ ਆਕਾਰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇੱਕ ਸ਼ਾਰਟਕੱਟ ਹੈ। ਹਾਲਾਂਕਿ, ਇਹ ਮਹੱਤਵਪੂਰਨ ਹੈਨੋਟ ਕਰੋ ਕਿ ਇਹ ਵਿਧੀ ਸਿਰਫ ਵਸਤੂਆਂ ਨਾਲ ਕੰਮ ਕਰਦੀ ਹੈ, ਨਾ ਕਿ ਆਰੰਭਿਕ ਕਿਸਮਾਂ ਨਾਲ। \',\' ਬੂਲੀਅਨ ਹਟਾਇਆ = myItems.remove (ਆਈਟਮ); ਵਾਪਸ ਹਟਾਇਆ; \' ', 'ਪਬਲਿਕ ਸਟੈਟਿਕ ਵੋਇਡ ਮੇਨ (NAME _ 1 [] ਆਰਗਸ) {NAME _ 1 ਸਟਰਟੈਸਟ = ਨੱਲ; ਜੇਕਰ (strTest.equals ("GAJANANA")) {System.out.println ("ਪਾਸ");}} \n ']