String[] a = {"12", "34"};和String[] b = new String[] {"12", "34"};有何不同?

gearss00 2016-12-28 01:52:42
请问这两个写法有何不同?
String[] a = {"12", "34"};
String[] b = new String[] {"12", "34"};
我把b 传递给某个方法test(String[] str)时,没问题,但是把a传递给test(String[] str)出现了错误,为什么?
...全文
555 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
//记得贴好代码


public class RSS {
   public RSS() {
      String cc = CutSectionBySection(new String("1234567890"), new String[]{"23", "78"}, new String[]{}, new String[]{}, new String[]{}, true);
        public String CutSectionBySection(String cont2, String[] str_pair, String[] must_include, String[] must_exclude, String[] leng_max_min, boolean times) {
               }
        }
}
//不知道你这个是什么意思 public RSS() {}里面再来个 public String CutSectionBySection(){}
viwinfeng 2017-01-01
  • 打赏
  • 举报
回复
String[] a = {"12", "34"}; String[] b = new String[] {"12", "34"}; 第一句没有对象,第二句有对象,String 是引用数据类型,需要方法调用,要new出来,所以第一句报错吧
心随念 2016-12-29
  • 打赏
  • 举报
回复
写错了吧,构造方法里又放了一个CutSectionBySection这个方法,编译都通不过啊。 另外 String[] a = {"12", "34"}; String[] b = new String[] {"12", "34"}; 这两个实在不同的地址中的 如果System.out.println(a== b); 打印的肯定是false,这怎么是没有区别呢
我是大混子 2016-12-28
  • 打赏
  • 举报
回复
String[] a = {"12", "34"}; String[] b = new String[] {"12", "34"}; 这两个是肯定没区别的。
gearss00 2016-12-28
  • 打赏
  • 举报
回复
我的源码是: ------- import java.io.IOException; //import java.io.*; import java.net.URL; import java.net.URLConnection; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.InputStreamReader; import java.io.StringReader; import java.io.StringWriter; import java.util.concurrent.TimeUnit; import java.io.FileReader; import java.io.InputStream; import java.io.Reader; //import java.net.*; import java.util.ArrayList; //import java.util.*; import java.util.Collections; import java.util.Comparator; import java.io.FileNotFoundException; public class RSS { public RSS() { String cc = CutSectionBySection(new String("1234567890"), new String[]{"23", "78"}, new String[]{}, new String[]{}, new String[]{}, true); public String CutSectionBySection(String cont2, String[] str_pair, String[] must_include, String[] must_exclude, String[] leng_max_min, boolean times) { String cont = cont2; int len00 = cont.length(); int len01; String s1 = str_pair[0]; String s2 = str_pair[1]; int max_len, min_len; if (leng_max_min.length > 0) { max_len = Integer.parseInt(leng_max_min[0]); min_len = Integer.parseInt(leng_max_min[1]); if (min_len > max_len) { max_len = 0; min_len =0; } } else { max_len = 0; min_len =0; } while (true) { boolean IsEnd = false; int start = cont.indexOf(s1); int end = cont.indexOf(s2, start + s1.length()+ 1); if ((start == -1) || (end == -1)) {return cont;} if ((s1.length() == 0) && (s2.length() > 0)) { cont = cont.replace(s2, ""); return cont; } if ((s2.length() == 0) && (s1.length() > 0)) { cont = cont.replace(s1, ""); return cont; } if ((s2.length() == 0) && (s1.length() == 0)) {return cont;} if (((start == -1) && (s1.equals(articlebegin))) || ((end == -1) && (s2.equals(articleend)))) {return cont;} if (s2.equals(articleend)) {end = cont.length(); IsEnd = true;} if (s1.equals(articlebegin)) {start = 0;} if (end < start) {return cont;} int len = s2.length(); String sec = cont.substring(start, end+len); boolean pass = false; if (must_include.length > 0) { for (int n=0; n < must_include.length; n ++) { String one = must_include[n]; if (sec.indexOf(one) > -1) { pass = true; break; } } } else { pass = true; } if (pass) { for (int n=0; n < must_exclude.length; n ++) { String one = must_exclude[n]; if (sec.indexOf(one) > -1) { pass = false; break; } } } if (pass) { int sec_len = sec.length(); if (max_len > 0) { if ((sec_len <= max_len) && (sec_len >= min_len)) { } else { pass = false; } } if (pass) { cont = cont.replace(sec, ""); if (times) { len01 = cont.length(); if (len01 == len00) {break;} len00 = len01; } else {break;} } } } return cont; } } public static void main(String[] args) throws IOException { RSS reader = new RSS(); } } ------ 总是报错: RSS.java:28: 错误: 非法的表达式开始 public String CutSectionBySection(String cont2, String[] str_pair, String[] must _include, String[] must_exclude, String[] leng_max_min, boolean times) { ^ RSS.java:28: 错误: 需要';' public String CutSectionBySection(String cont2, String[] str_pair, String[] must _include, String[] must_exclude, String[] leng_max_min, boolean times) { ^ RSS.java:28: 错误: 需要';' public String CutSectionBySection(String cont2, String[] str_pair, String[] must _include, String[] must_exclude, String[] leng_max_min, boolean times) { ^ RSS.java:28: 错误: 不是语句 public String CutSectionBySection(String cont2, String[] str_pair, String[] must _include, String[] must_exclude, String[] leng_max_min, boolean times) { ^ RSS.java:28: 错误: 需要';' public String CutSectionBySection(String cont2, String[] str_pair, String[] must _include, String[] must_exclude, String[] leng_max_min, boolean times) { ^ RSS.java:28: 错误: 需要';' public String CutSectionBySection(String cont2, String[] str_pair, String[] must _include, String[] must_exclude, String[] leng_max_min, boolean times) { ^ RSS.java:28: 错误: 不是语句 public String CutSectionBySection(String cont2, String[] str_pair, String[] must _include, String[] must_exclude, String[] leng_max_min, boolean times) { ^ RSS.java:28: 错误: 需要';' public String CutSectionBySection(String cont2, String[] str_pair, String[] must _include, String[] must_exclude, String[] leng_max_min, boolean times) { ^ RSS.java:28: 错误: 需要<标识符> public String CutSectionBySection(String cont2, String[] str_pair, String[] must _include, String[] must_exclude, String[] leng_max_min, boolean times) { ^ RSS.java:28: 错误: 不是语句 public String CutSectionBySection(String cont2, String[] str_pair, String[] must _include, String[] must_exclude, String[] leng_max_min, boolean times) { ^ RSS.java:28: 错误: 需要';' public String CutSectionBySection(String cont2, String[] str_pair, String[] must _include, String[] must_exclude, String[] leng_max_min, boolean times) { ^ 11 个错误
  • 打赏
  • 举报
回复
String[] a = {"12", "34"}; String[] b = new String[] {"12", "34"}; 这两个编译完都变成 String[] a = {"12", "34"}; String[] b = {"12", "34"}; 应该是没区别才对
  • 打赏
  • 举报
回复
你的方法呢?

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧