我有一组字符串数组,我想从这里删除重复的元素...
String[] arr1 = {"a1","b1"};
String[] arr2 = {"a2","b2"};
Set<String[]> mySet = new HashSet<String[]>();
mySet.add(arr1);
mySet.add(arr2);
mySet.add(new String[] {"a1","b1"});
System.out.print(mySet.size());
Run Code Online (Sandbox Code Playgroud)
目前mySet看起来像这样:
[{"a1","b1"},{"a2","b2"},{"a1","b1"}]
Run Code Online (Sandbox Code Playgroud)
但我想这样:
[{"a1","b1"},{"a2","b2"}]
Run Code Online (Sandbox Code Playgroud)
我知道一些方法......
我有两个名为 Banners 和 BannerGroup 的类。
\n\n我已经创建了双向关系。\n就我而言,一个 BannerGroup 可以有许多横幅,并且许多横幅属于同一个 BannerGroup。
\n\nMysql 表是...
\n\nmysql> desc Banners;\n+------------------+--------------+------+-----+---------+-----------------------------+\n| Field | Type | Null | Key | Default | Extra |\n+------------------+--------------+------+-----+---------+-----------------------------+\n| banner_id | int(11) | NO | PRI | NULL | auto_increment | \n| banner_name | varchar(255) | YES | | NULL | | \n| banner_group_id | int(11) | YES | MUL | NULL | | \n+------------------+--------------+------+-----+---------+-----------------------------+\n\nmysql> desc Banner_Group;\n+---------------------+--------------+------+-----+----------------+-----------------------------+\n| Field | Type | Null | Key | Default | Extra |\n+---------------------+--------------+------+-----+----------------+-----------------------------+\n| group_id …
Run Code Online (Sandbox Code Playgroud) 我的要求是我想执行数据库操作.所以,我在做......
Public boolean myFunction(){
Session session = sessionFactory.getCurrentSession();
if(session!=null){
if (tx != null) {
Transaction tx = session.beginTransaction();
//Perform database operation...
tx.rollback();
if (session.isOpen()) {
session.close();
}
tx = null;
session = null;
}
}else{
return;
}
}
Run Code Online (Sandbox Code Playgroud)
当我的会话不包含任何先前未提及/展开的tranasction时,这很有效.
现在,问题Sceanario就在这里......
Sceanario:
有一个服务...调用myFunction(),该服务在会话中已有一个活动事务.
问题:当myfunction()执行tx.rollback()时...它还回滚了父进程的事务.
1.) Why this happen???
2.) Is there nay way to determine... weather hibernate session contains any previous open/uncommited/active/unrolledback/continue transaction?
Run Code Online (Sandbox Code Playgroud)
我试过了...
Public boolean myFunction(){
Session session = sessionFactory.getCurrentSession();
if(session!=null){
if (tx != null) {
boolean isAlreadyTransactionStarted = sessionFactory.getCurrentSession().getTransaction().isActive(); …
Run Code Online (Sandbox Code Playgroud) 我的目标是优化我的应用程序代码.我的代码看起来像这样:
int a = 10;
Map<String , Integer> myMap = new TreeMap<>();
myMap.put("first" , new Integer(a)); //[FindBugs] Method com.abc.xyz.Test.main(String[]) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Run Code Online (Sandbox Code Playgroud)
当我在Netbeans中使用Findbugs进行静态分析时,它表明存在类似" 方法调用低效的新Integer(int)构造函数的警告/错误;使用Integer.valueOf(int) ".
我知道新的Integer(int)和Integer.valueOf(int)之间的区别.
一个创建另一个对象而另一个不创建.还有一个不缓存和其他缓存.
所以我修改了我的代码......
m.put("first" , Integer.valueOf(a)); // Unnecessary boxing to Integer
Run Code Online (Sandbox Code Playgroud)
但同样也给出警告" 不必要的拳击到整数 "(编辑不是由findbugs).
所以,我已经像这样改变了......
m.put("first" , a); //No warning at all...
Run Code Online (Sandbox Code Playgroud)
最后没有任何警告.
我的问题:
1.)此链接建议在内部(通过编译器) m.put("first",a); 正在转换为 m.put("first",Integer.valueOf(a));
(在那个例子中,有一个List-ArrayList,这里我们有Map-TreeMap ... FYI).然后为什么编辑发出警告?我该怎么办?什么是优化方式?
2.)如果没有Map,如果有像HashTable这样的数据结构那么???
3.)为什么编辑器给整数提供不必要的拳击 …
我想要从文件中的一行"测试"单词之后的单词.意思是在实际上,我不希望在"测试"字之前出现这些词.
这就是模式......
例如:
输入:
***This is a*** test page.
***My*** test work of test is complete.
Run Code Online (Sandbox Code Playgroud)
输出:
test page.
work of test is complete.
Run Code Online (Sandbox Code Playgroud) 所有.
我是sed的新手.
我想要类似的东西
输入:
ABC,DEF,GHI,JKL,MNO
Run Code Online (Sandbox Code Playgroud)
输出:
ABC,,,,MNO
Run Code Online (Sandbox Code Playgroud)
手段....
I want to remove all contents between two ','
Run Code Online (Sandbox Code Playgroud)