forum.bitel.ru
http://forum.bitel.ru/

Сравнение строк
http://forum.bitel.ru/viewtopic.php?f=19&t=2581
Страница 1 из 1

Автор:  m0nk3y [ 14 июл 2009, 17:50 ]
Заголовок сообщения:  Сравнение строк

Имеется код:
Код:
import bitel.billing.server.radius.*;
import bitel.billing.server.contract.bean.*;   
import bitel.billing.server.tariff.bean.*;
import bitel.billing.server.script.event.*;
import java.util.*;
import bitel.billing.common.*;

INTERNAL_IP_CODE=24;
cid = event.getContractID();
cpu = new ContractParameterManager( con );
intIP = (String) cpu.getStringParam( cid, INTERNAL_IP_CODE );
//print (intIP);
response = event.getResponse();
if (intIP==null){  //привязка отсутствоует
  response.setPacketType( RadiusPacket.AUTHENTICATION_ACCEPT );
}
else // привязка присутствует
{
  request  = event.getRequest();
  callingStationID=(String) request.getStringAttribute( RadiusStandartAttributes.Calling_Station_Id );
  print(intIP+"\n"+callingStationID);
  if (intIP==callingStationID) {
    response.setPacketType( RadiusPacket.AUTHENTICATION_ACCEPT );
   print("равно");
   }
  else {
   print("не равно");
   response.setPacketType( RadiusPacket.AUTHENTICATION_REJECT ); }
}

Вывод:
Код:
OUT:
10.10.0.252
10.10.0.252
не равно

Вопрос: почему? где я ошибся?

Автор:  Amir [ 14 июл 2009, 18:23 ]
Заголовок сообщения: 

В java и beanshell == сравнивает либо примитивные типы, либо указатели объектов.
Для сравнения объектов нужно использовать метод equals( )
Код:
if ( !"HELLO".equals( "hello" ) )
{
   return true;
}

Автор:  Chaos [ 14 июл 2009, 18:28 ]
Заголовок сообщения: 

Тож столкнулся с этим при ставнии маков из базы и радиус-атрибутов. Делал так:
Код:
if (!maclogin.equals(macbase) )

Автор:  m0nk3y [ 14 июл 2009, 18:31 ]
Заголовок сообщения: 

Большое спасибо. Я уж и сам допер. В офисе жарища, мозги в сырок плавленный превратились.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/