小编OPK*_*OPK的帖子

为什么需要main方法才能在类中使用arraylist方法?

我可以做这个:

import java.util.ArrayList;

public class Array {

    public static void main(String args[]){

    ArrayList<String> myList = new ArrayList<String>();

    myList.add("S");

    }
}
Run Code Online (Sandbox Code Playgroud)

但是我不能这样做:

import java.util.ArrayList;

public class Array {

    ArrayList<String> myList = new ArrayList<String>();

    myList.add("S");


}
Run Code Online (Sandbox Code Playgroud)

为什么我必须包含主要方法?

java arraylist

3
推荐指数
1
解决办法
1556
查看次数

为什么我仍然可以对这个最终变量进行更改?

如果name声明final,为什么我仍然可以调用name.append,输出是:shreya?我认为一旦分配了值,就无法更改最终变量?

public class Test1 {

    final static StringBuilder name = new StringBuilder("sh");
    public static void main(String[] args) {

        name.append("reya");
        System.out.println(name);
    }

}
Run Code Online (Sandbox Code Playgroud)

java final

3
推荐指数
2
解决办法
202
查看次数

为什么更改FROM子句中表的顺序会使SQL执行时间不同?

编辑:我不知道为什么讨厌这个问题,但也许是因为我的问题混乱.我故意用来/*+ ORDERED */控制执行的顺序并改变FROM子句中表的顺序.我想知道为什么执行时间可以改变.是因为连接顺序吗?是因为桌子大小?希望这可以消除混乱.

所以我只是在玩SQL查询并实现以下内容:如果我在FROM子句中更改表的顺序,则执行时间可能会有很大差异.以下查询在大约0.966秒内运行.但如果我转到OrderDetails d最后一个FROM条款,执行只有0.573秒!这有什么原因吗?我当时正在使用ORACLE SQL Developer

SELECT /*+ ORDERED */
    su.CompanyName, CategoryName, ProductName, c.CompanyName, c.country,
    FirstName, LastName, Quantity, d.UnitPrice, sh.CompanyName
FROM 
    OrderDetails d, Suppliers su, Shippers sh, Categories t, Products p,
    Employees e, Customers c, orders o
WHERE 
    t.CategoryID = p.CategoryID 
    AND c.CustomerID = o.CustomerID 
    AND e.EmployeeID = o.EmployeeID 
    AND o.OrderID = d.OrderID 
    AND p.ProductID = d.ProductID 
    AND sh.ShipperID = o.ShipVia 
    AND su.SupplierID = p.SupplierID 
    AND LOWER(ProductName) Like '%lager%' 
    AND LOWER(c.city) …
Run Code Online (Sandbox Code Playgroud)

sql oracle

3
推荐指数
1
解决办法
828
查看次数

switch语句,在java开头有一个default子句

打印出以下代码 1,2,3,如果我更改int i = 3;它将打印出来3.我想知道这背后的原因.我使用调试器,似乎i = 3它转到案例3并打印出3然后程序终止.我相信,何时i=5,它default是否意味着case 1,case 2 and case 3所有属于该default条款?

int i = 5;
switch(i){
default:
case 1:
    System.out.println(1);
case 2:
    System.out.println(2);
case 3:
    System.out.println(3);

}
Run Code Online (Sandbox Code Playgroud)

编辑:这个问题来自测试,它要求输出此代码.所以我试图找出输出为什么1,2,3,我理解break;是需要的,但这不是我想要的答案.

java default switch-statement

2
推荐指数
1
解决办法
1656
查看次数

我们给spring批注命名是有原因的吗?

我注意到在对spring或spring mvc使用批注时,一些程序员会给批注命名。例如:

@Repository("customerRepository")
public class CustomerRepositoryImpl implements CustomerRepository{
}
Run Code Online (Sandbox Code Playgroud)

我相信该类的功能相同,而没有给出@Repository名称。是否存在将注释命名为有用的情况?

java spring annotations spring-mvc

2
推荐指数
1
解决办法
983
查看次数

为什么finally块不能从catch块修改返回的Integer类型数据.Java的

所以我知道两个事实:

1.由于自动装箱, Integer i = 9; i它仍然被认为是对象类型,而不是原始类型.

2.在一个try-catch-finally块中,finally可以修改块返回的值catch只有catch块返回一个对象,而不是原始数据.

那么为什么以下代码仍会打印出来:

10
Run Code Online (Sandbox Code Playgroud)

finally假设修改returnValto时20因为returnVal不是原始数据类型?

public class test1 {

     Integer getInt() {
        Integer returnVal = 10;
        try {
            //some code here that will cause an exception
        }
        catch(Exception e) {
            return returnVal;
        }
        finally {
            returnVal += 10;
        }
        return returnVal;

    }

    public static void main(String[] args) {    
        test1 tes = new test1();
        System.out.println(tes.getInt());
    } 
}
Run Code Online (Sandbox Code Playgroud)

java try-catch

1
推荐指数
1
解决办法
341
查看次数

如何按Java中的元素大小对ArrayList进行排序?

所以我有一个List<String> L1 = new ArrayList<>()以下字符串作为元素:

  • 我,你,你.
  • r,u,d,l,d,l,u.
  • l,u,d,r,r,r,r,r,u,d.
  • 我,你.
  • l,你,r.

如何list按元素的大小排序,以便在最终状态L1应该是这样的:

  • 我,你.
  • l,你,r.
  • 我,你,你.
  • r,u,d,l,d,l,u.
  • l,u,d,r,r,r,r,r,u,d.

我尝试过使用Collections.sort,但按字母顺序排序,这显然不是我想要的.

java sorting element list

1
推荐指数
2
解决办法
6169
查看次数

字段或属性“ ListItemAllFields”不存在异常

下面的代码感谢Vadim Gremyachev。我的目标是使用授予用户对某些SharePoint文件夹的访问权限CSOM。我试图实现的目标是访问称为的库JZhu,在JZhu库内部,我有两个文件夹folder1folder2。我正在尝试向授予Reader许可folder1。到目前为止,该代码无法正常工作,因为在第6行出现异常:

字段或属性“ ListItemAllFields”不存在

 ClientContext context = new ClientContext("http://myRealUrl");
 Principal user = context.Web.EnsureUser(@"myLoginAccout");
 var folder = context.Web.GetFolderByServerRelativeUrl("JZhu/folder1");
 var roleDefinition = context.Site.RootWeb.RoleDefinitions.GetByType(RoleType.Reader);  //get Reader role
 var roleBindings = new RoleDefinitionBindingCollection(context) { roleDefinition };
 folder.ListItemAllFields.BreakRoleInheritance(true, false);  //line 6
 folder.ListItemAllFields.RoleAssignments.Add(user, roleBindings);
 context.ExecuteQuery();
Run Code Online (Sandbox Code Playgroud)

c# permissions sharepoint sharepoint-clientobject

1
推荐指数
1
解决办法
6344
查看次数

char转换为int

所以我有这样的事情:

char cr = "9783815820865".charAt(0);
System.out.println(cr);   //prints out 9
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

 int cr = "9783815820865".charAt(0);
 System.out.println(cr);   //prints out 57
Run Code Online (Sandbox Code Playgroud)

据我所知,焦炭和INT之间的转换不是简单地从'9'9.我的问题是现在我只需要保持9作为int值,而不是57.如何获得值9而不是57作为int类型?

java int char

1
推荐指数
2
解决办法
138
查看次数

IO输出与预期不同

我有一个.txt文件,其中包含:

123456
45789
check
check
Run Code Online (Sandbox Code Playgroud)

我想替换checknow,我写了下面的代码,但结果并不像我预期的那样:

123456
45789
now
nowheck
Run Code Online (Sandbox Code Playgroud)

我想知道为什么最后一行成了nowheck.

我的代码:

StreamReader reader = new StreamReader(File.OpenRead(@"C:\Users\jzhu\Desktop\test1.txt"));
string fileContent = reader.ReadToEnd();
reader.Close();
fileContent = fileContent.Replace("check", "now");
StreamWriter writer = new StreamWriter(File.OpenWrite(@"C:\Users\jzhu\Desktop\test1.txt"));
writer.Write(fileContent);
writer.Close();
Run Code Online (Sandbox Code Playgroud)

c# io

0
推荐指数
1
解决办法
71
查看次数